Skip to content

Conversation

@alimirjamali
Copy link
Contributor

Lookup for the most common icon sizes and select one of them first. Then revert to whatever available size which does not violate our maximum.

Unfortunately pre-SVG era icon designs for few legacy applications is totally different per icon size. So sending the highest resolution is not always desirable as it does not scale down well on low-DPI screens.

Practically this patch does not change anything for most programs (compared to previous situation). Since the previous code started from 128x128 down to the lowest resolution.

Background on various icon sizes in different OS:
https://icons8.com/blog/articles/choosing-the-right-size-and-format-for-icons/

resolves: QubesOS/qubes-issues#10359

@qubesos-bot
Copy link

qubesos-bot commented Nov 11, 2025

OpenQA test summary

Complete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025111414-4.3&flavor=pull-requests

Test run included the following:

New failures, excluding unstable

Compared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025081011-4.3&flavor=update

  • system_tests_extra

    • TC_00_QVCTest_whonix-gateway-18: test_010_screenshare (failure)
      AssertionError: 1 != 0 : Timeout waiting for /dev/video0 in test-in...

    • TC_00_QVCTest_whonix-workstation-18: test_010_screenshare (failure)
      AssertionError: 1 != 0 : Timeout waiting for /dev/video0 in test-in...

  • system_tests_dispvm

    • TC_20_DispVM_whonix-workstation-18: test_100_open_in_dispvm (failure)
      AssertionError: './open-file test.txt' failed with ./open-file test...
  • system_tests_whonix@hw7

    • whonixcheck: fail (unknown)
      Whonixcheck for sys-whonix failed...

    • whonixcheck: Failed (test died)
      # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...

  • system_tests_qwt_win10@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-Explorer-new-...
  • system_tests_qwt_win10_seamless@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-Edge-address-...
  • system_tests_qwt_win11@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-Notepad' matc...
  • system_tests_dispvm_perf@hw7

    • TC_00_DispVMPerf_debian-13-xfce: test_409_dom0_dispvm_preload_gui_api (failure)
      AssertionError: '/usr/lib/qubes/tests/dispvm_perf.py --dvm=test-ins...

    • TC_00_DispVMPerf_debian-13-xfce: test_900_reader (failure)
      AssertionError: '/usr/lib/qubes/tests/dispvm_perf_reader.py --templ...

    • TC_00_DispVMPerf_fedora-42-xfce: test_900_reader (failure)
      AssertionError: '/usr/lib/qubes/tests/dispvm_perf_reader.py --templ...

    • TC_00_DispVMPerf_whonix-workstation-18: test_900_reader (failure)
      AssertionError: '/usr/lib/qubes/tests/dispvm_perf_reader.py --templ...

Failed tests

15 failures
  • system_tests_extra

    • TC_00_QVCTest_whonix-gateway-18: test_010_screenshare (failure)
      AssertionError: 1 != 0 : Timeout waiting for /dev/video0 in test-in...

    • TC_00_QVCTest_whonix-workstation-18: test_010_screenshare (failure)
      AssertionError: 1 != 0 : Timeout waiting for /dev/video0 in test-in...

  • system_tests_dispvm

    • TC_20_DispVM_whonix-workstation-18: test_100_open_in_dispvm (failure)
      AssertionError: './open-file test.txt' failed with ./open-file test...
  • system_tests_whonix@hw7

    • whonixcheck: fail (unknown)
      Whonixcheck for sys-whonix failed...

    • whonixcheck: Failed (test died)
      # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...

  • system_tests_qwt_win10@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-Explorer-new-...
  • system_tests_qwt_win10_seamless@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-Edge-address-...
  • system_tests_qwt_win11@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-Notepad' matc...
  • system_tests_dispvm_perf@hw7

    • TC_00_DispVMPerf_debian-13-xfce: test_409_dom0_dispvm_preload_gui_api (failure)
      AssertionError: '/usr/lib/qubes/tests/dispvm_perf.py --dvm=test-ins...

    • TC_00_DispVMPerf_debian-13-xfce: test_900_reader (failure)
      AssertionError: '/usr/lib/qubes/tests/dispvm_perf_reader.py --templ...

    • TC_00_DispVMPerf_fedora-42-xfce: test_900_reader (failure)
      AssertionError: '/usr/lib/qubes/tests/dispvm_perf_reader.py --templ...

    • TC_00_DispVMPerf_whonix-workstation-18: test_900_reader (failure)
      AssertionError: '/usr/lib/qubes/tests/dispvm_perf_reader.py --templ...

Fixed failures

Compared to: https://openqa.qubes-os.org/tests/149225#dependencies

82 fixed
  • system_tests_extra

    • TC_00_QVCTest_whonix-workstation-17: test_010_screenshare (failure)
      AssertionError: 1 != 0 : Timeout waiting for /dev/video0 in test-in...
  • system_tests_dispvm

  • system_tests_kde_gui_interactive

    • gui_keyboard_layout: wait_serial (wait serial expected)
      # wait_serial expected: "echo -e '[Layout]\nLayoutList=us,de' | sud...

    • gui_keyboard_layout: Failed (test died)
      # Test died: command 'test "$(cd ~user;ls e1*)" = "$(qvm-run -p wor...

  • system_tests_audio

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.audio failed (exit code 1), details reporte...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • TC_20_AudioVM_Pulse_whonix-workstation-17: test_223_audio_play_hvm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_20_AudioVM_Pulse_whonix-workstation-17: test_224_audio_rec_muted_hvm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_20_AudioVM_Pulse_whonix-workstation-17: test_225_audio_rec_unmuted_hvm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_20_AudioVM_Pulse_whonix-workstation-17: test_252_audio_playback_audiovm_switch_hvm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

  • system_tests_audio@hw1

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.audio failed (exit code 1), details reporte...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • TC_20_AudioVM_Pulse_whonix-workstation-17: test_223_audio_play_hvm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 60 secon...

    • TC_20_AudioVM_Pulse_whonix-workstation-17: test_224_audio_rec_muted_hvm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 60 secon...

    • TC_20_AudioVM_Pulse_whonix-workstation-17: test_252_audio_playback_audiovm_switch_hvm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 60 secon...

  • system_tests_dispvm_perf@hw7

  • system_tests_guivm_gpu_gui_interactive@hw13

    • guivm_startup: wait_serial (wait serial expected)
      # wait_serial expected: qr/lEcbc-\d+-/...

    • guivm_startup: Failed (test died + timed out)
      # Test died: command '! qvm-check sys-whonix || time qvm-start sys-...

  • system_tests_basic_vm_qrexec_gui_ext4

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.vm_qrexec_gui failed (exit code 1), details...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • TC_20_NonAudio_whonix-gateway-17-pool: test_012_qubes_desktop_run (error + cleanup)
      raise TimeoutError from exc_val... TimeoutError

Unstable tests

Performance Tests

Performance degradation:

11 performance degradations
  • dom0_root_seq1m_q8t1_write 3:write_bandwidth_kb: 187456.00 🔻 ( previous job: 265260.00, degradation: 70.67%)
  • dom0_varlibqubes_seq1m_q8t1_write 3:write_bandwidth_kb: 96153.00 🔻 ( previous job: 110817.00, degradation: 86.77%)
  • fedora-42-xfce_root_seq1m_q1t1_read 3:read_bandwidth_kb: 219459.00 🔻 ( previous job: 299764.00, degradation: 73.21%)
  • fedora-42-xfce_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 1052.00 🔻 ( previous job: 3020.00, degradation: 34.83%)
  • fedora-42-xfce_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 955.00 🔻 ( previous job: 1368.00, degradation: 69.81%)
  • fedora-42-xfce_private_rnd4k_q1t1_read 3:read_bandwidth_kb: 7552.00 🔻 ( previous job: 8992.00, degradation: 83.99%)
  • fedora-42-xfce_private_rnd4k_q1t1_write 3:write_bandwidth_kb: 260.00 🔻 ( previous job: 1251.00, degradation: 20.78%)
  • fedora-42-xfce_volatile_rnd4k_q32t1_read 3:read_bandwidth_kb: 76910.00 🔻 ( previous job: 87141.00, degradation: 88.26%)
  • fedora-42-xfce_volatile_rnd4k_q32t1_write 3:write_bandwidth_kb: 1970.00 🔻 ( previous job: 4098.00, degradation: 48.07%)
  • fedora-42-xfce_volatile_rnd4k_q1t1_read 3:read_bandwidth_kb: 7858.00 🔻 ( previous job: 8804.00, degradation: 89.25%)
  • fedora-42-xfce_volatile_rnd4k_q1t1_write 3:write_bandwidth_kb: 1576.00 🔻 ( previous job: 2384.00, degradation: 66.11%)

Remaining performance tests:

168 tests
  • debian-13-xfce_exec: 8.84 🔻 ( previous job: 8.36, degradation: 105.75%)
  • debian-13-xfce_exec-root: 26.97 🟢 ( previous job: 27.36, improvement: 98.57%)
  • debian-13-xfce_socket: 8.38 🟢 ( previous job: 8.57, improvement: 97.73%)
  • debian-13-xfce_socket-root: 8.25 🟢 ( previous job: 8.26, improvement: 99.93%)
  • debian-13-xfce_exec-data-simplex: 61.60 🟢 ( previous job: 72.43, improvement: 85.04%)
  • debian-13-xfce_exec-data-duplex: 69.06 🟢 ( previous job: 76.65, improvement: 90.10%)
  • debian-13-xfce_exec-data-duplex-root: 81.12 🟢 ( previous job: 91.79, improvement: 88.37%)
  • debian-13-xfce_socket-data-duplex: 131.58 🟢 ( previous job: 133.45, improvement: 98.60%)
  • fedora-42-xfce_exec: 9.13 🔻 ( previous job: 9.06, degradation: 100.73%)
  • fedora-42-xfce_exec-root: 59.03 🔻 ( previous job: 58.19, degradation: 101.45%)
  • fedora-42-xfce_socket: 8.05 🟢 ( previous job: 8.48, improvement: 94.98%)
  • fedora-42-xfce_socket-root: 8.21 🔻 ( previous job: 8.18, degradation: 100.28%)
  • fedora-42-xfce_exec-data-simplex: 73.57 🟢 ( previous job: 78.48, improvement: 93.74%)
  • fedora-42-xfce_exec-data-duplex: 64.59 🟢 ( previous job: 67.92, improvement: 95.10%)
  • fedora-42-xfce_exec-data-duplex-root: 101.63 🔻 ( previous job: 96.36, degradation: 105.46%)
  • fedora-42-xfce_socket-data-duplex: 133.30 🟢 ( previous job: 142.58, improvement: 93.49%)
  • whonix-gateway-18_exec: 8.48
  • whonix-gateway-18_exec-root: 129.19
  • whonix-gateway-18_socket: 8.55
  • whonix-gateway-18_socket-root: 9.04
  • whonix-gateway-18_exec-data-simplex: 70.91
  • whonix-gateway-18_exec-data-duplex: 73.69
  • whonix-gateway-18_exec-data-duplex-root: 144.72
  • whonix-gateway-18_socket-data-duplex: 138.22
  • whonix-workstation-18_exec: 8.58
  • whonix-workstation-18_exec-root: 141.81
  • whonix-workstation-18_socket: 9.53
  • whonix-workstation-18_socket-root: 9.07
  • whonix-workstation-18_exec-data-simplex: 61.02
  • whonix-workstation-18_exec-data-duplex: 69.84
  • whonix-workstation-18_exec-data-duplex-root: 152.30
  • whonix-workstation-18_socket-data-duplex: 139.46
  • debian-13-xfce_vm-dispvm (mean:6.513): 78.15
  • debian-13-xfce_vm-dispvm-gui (mean:7.481): 89.77
  • debian-13-xfce_vm-dispvm-concurrent (mean:3.123): 37.48
  • debian-13-xfce_vm-dispvm-gui-concurrent (mean:3.9): 46.80
  • debian-13-xfce_dom0-dispvm (mean:6.927): 83.13
  • debian-13-xfce_dom0-dispvm-gui (mean:8.173): 98.08
  • debian-13-xfce_dom0-dispvm-concurrent (mean:3.233): 38.80
  • debian-13-xfce_dom0-dispvm-gui-concurrent (mean:3.982): 47.79
  • debian-13-xfce_vm-dispvm-preload (mean:2.775): 33.30
  • debian-13-xfce_vm-dispvm-preload-gui (mean:3.633): 43.59
  • debian-13-xfce_vm-dispvm-preload-concurrent (mean:2.614): 31.37
  • debian-13-xfce_vm-dispvm-preload-gui-concurrent (mean:3.485): 41.81
  • debian-13-xfce_dom0-dispvm-preload (mean:3.622): 43.46
  • debian-13-xfce_dom0-dispvm-preload-gui (mean:10.919): 131.03
  • debian-13-xfce_dom0-dispvm-preload-concurrent (mean:2.725): 32.70
  • debian-13-xfce_dom0-dispvm-preload-gui-concurrent (mean:3.749): 44.99
  • debian-13-xfce_dom0-dispvm-api (mean:7.087): 85.04
  • debian-13-xfce_dom0-dispvm-gui-api (mean:8.255): 99.05
  • debian-13-xfce_dom0-dispvm-concurrent-api (mean:3.335): 40.02
  • debian-13-xfce_dom0-dispvm-gui-concurrent-api (mean:4.089): 49.07
  • debian-13-xfce_dom0-dispvm-preload-less-less-api (mean:3.772): 45.27
  • debian-13-xfce_dom0-dispvm-preload-less-api (mean:3.839): 46.07
  • debian-13-xfce_dom0-dispvm-preload-api (mean:3.652): 43.83
  • debian-13-xfce_dom0-dispvm-preload-more-api (mean:3.32): 39.84
  • debian-13-xfce_dom0-dispvm-preload-more-more-api (mean:3.511): 42.13
  • debian-13-xfce_dom0-dispvm-preload-concurrent-api (mean:2.986): 35.83
  • debian-13-xfce_dom0-dispvm-preload-gui-concurrent-api (mean:3.899): 46.79
  • debian-13-xfce_vm-vm (mean:0.027): 0.32
  • debian-13-xfce_vm-vm-gui (mean:0.042): 0.51
  • debian-13-xfce_vm-vm-concurrent (mean:0.022): 0.26
  • debian-13-xfce_vm-vm-gui-concurrent (mean:0.02): 0.24
  • debian-13-xfce_dom0-vm-api (mean:0.04): 0.48
  • debian-13-xfce_dom0-vm-gui-api (mean:0.042): 0.51
  • debian-13-xfce_dom0-vm-concurrent-api (mean:0.027): 0.32
  • debian-13-xfce_dom0-vm-gui-concurrent-api (mean:0.029): 0.34
  • fedora-42-xfce_vm-dispvm (mean:7.123): 85.47
  • fedora-42-xfce_vm-dispvm-gui (mean:8.793): 105.52
  • fedora-42-xfce_vm-dispvm-concurrent (mean:3.765): 45.18
  • fedora-42-xfce_vm-dispvm-gui-concurrent (mean:4.426): 53.11
  • fedora-42-xfce_dom0-dispvm (mean:7.798): 93.58
  • fedora-42-xfce_dom0-dispvm-gui (mean:9.034): 108.41
  • fedora-42-xfce_dom0-dispvm-concurrent (mean:3.798): 45.58
  • fedora-42-xfce_dom0-dispvm-gui-concurrent (mean:4.689): 56.27
  • fedora-42-xfce_vm-dispvm-preload (mean:3.044): 36.53
  • fedora-42-xfce_vm-dispvm-preload-gui (mean:6.988): 83.85
  • fedora-42-xfce_vm-dispvm-preload-concurrent (mean:2.918): 35.02
  • fedora-42-xfce_vm-dispvm-preload-gui-concurrent (mean:3.686): 44.23
  • fedora-42-xfce_dom0-dispvm-preload (mean:3.883): 46.60
  • fedora-42-xfce_dom0-dispvm-preload-gui (mean:5.136): 61.63
  • fedora-42-xfce_dom0-dispvm-preload-concurrent (mean:3.319): 39.83
  • fedora-42-xfce_dom0-dispvm-preload-gui-concurrent (mean:4.244): 50.93
  • fedora-42-xfce_dom0-dispvm-api (mean:7.47): 89.64
  • fedora-42-xfce_dom0-dispvm-gui-api (mean:8.793): 105.51
  • fedora-42-xfce_dom0-dispvm-concurrent-api (mean:3.686): 44.23
  • fedora-42-xfce_dom0-dispvm-gui-concurrent-api (mean:4.467): 53.61
  • fedora-42-xfce_dom0-dispvm-preload-less-less-api (mean:4.321): 51.85
  • fedora-42-xfce_dom0-dispvm-preload-less-api (mean:3.82): 45.84
  • fedora-42-xfce_dom0-dispvm-preload-api (mean:3.751): 45.01
  • fedora-42-xfce_dom0-dispvm-preload-more-api (mean:3.798): 45.58
  • fedora-42-xfce_dom0-dispvm-preload-more-more-api (mean:3.865): 46.38
  • fedora-42-xfce_dom0-dispvm-preload-gui-api (mean:5.024): 60.29
  • fedora-42-xfce_dom0-dispvm-preload-concurrent-api (mean:3.675): 44.10
  • fedora-42-xfce_dom0-dispvm-preload-gui-concurrent-api (mean:4.08): 48.96
  • fedora-42-xfce_vm-vm (mean:0.019): 0.23
  • fedora-42-xfce_vm-vm-gui (mean:0.044): 0.53
  • fedora-42-xfce_vm-vm-concurrent (mean:0.023): 0.28
  • fedora-42-xfce_vm-vm-gui-concurrent (mean:0.03): 0.36
  • fedora-42-xfce_dom0-vm-api (mean:0.038): 0.45
  • fedora-42-xfce_dom0-vm-gui-api (mean:0.044): 0.53
  • fedora-42-xfce_dom0-vm-concurrent-api (mean:0.032): 0.38
  • fedora-42-xfce_dom0-vm-gui-concurrent-api (mean:0.043): 0.52
  • whonix-workstation-18_vm-dispvm (mean:9.116): 109.39
  • whonix-workstation-18_vm-dispvm-gui (mean:10.167): 122.00
  • whonix-workstation-18_vm-dispvm-concurrent (mean:4.888): 58.66
  • whonix-workstation-18_vm-dispvm-gui-concurrent (mean:5.612): 67.34
  • whonix-workstation-18_dom0-dispvm (mean:9.767): 117.20
  • whonix-workstation-18_dom0-dispvm-gui (mean:10.83): 129.95
  • whonix-workstation-18_dom0-dispvm-concurrent (mean:5.072): 60.86
  • whonix-workstation-18_dom0-dispvm-gui-concurrent (mean:5.673): 68.08
  • whonix-workstation-18_vm-dispvm-preload (mean:4.126): 49.52
  • whonix-workstation-18_vm-dispvm-preload-gui (mean:5.222): 62.66
  • whonix-workstation-18_vm-dispvm-preload-concurrent (mean:3.919): 47.03
  • whonix-workstation-18_vm-dispvm-preload-gui-concurrent (mean:4.837): 58.05
  • whonix-workstation-18_dom0-dispvm-preload (mean:5.558): 66.70
  • whonix-workstation-18_dom0-dispvm-preload-gui (mean:6.168): 74.01
  • whonix-workstation-18_dom0-dispvm-preload-concurrent (mean:4.526): 54.31
  • whonix-workstation-18_dom0-dispvm-preload-gui-concurrent (mean:4.98): 59.76
  • whonix-workstation-18_dom0-dispvm-api (mean:9.906): 118.87
  • whonix-workstation-18_dom0-dispvm-gui-api (mean:10.721): 128.65
  • whonix-workstation-18_dom0-dispvm-concurrent-api (mean:4.987): 59.84
  • whonix-workstation-18_dom0-dispvm-gui-concurrent-api (mean:5.569): 66.83
  • whonix-workstation-18_dom0-dispvm-preload-less-less-api (mean:5.63): 67.56
  • whonix-workstation-18_dom0-dispvm-preload-less-api (mean:5.45): 65.40
  • whonix-workstation-18_dom0-dispvm-preload-api (mean:5.311): 63.73
  • whonix-workstation-18_dom0-dispvm-preload-more-api (mean:5.611): 67.33
  • whonix-workstation-18_dom0-dispvm-preload-more-more-api (mean:5.457): 65.49
  • whonix-workstation-18_dom0-dispvm-preload-gui-api (mean:6.134): 73.61
  • whonix-workstation-18_dom0-dispvm-preload-concurrent-api (mean:4.72): 56.64
  • whonix-workstation-18_dom0-dispvm-preload-gui-concurrent-api (mean:5.327): 63.92
  • whonix-workstation-18_vm-vm (mean:0.047): 0.56
  • whonix-workstation-18_vm-vm-gui (mean:0.043): 0.52
  • whonix-workstation-18_vm-vm-concurrent (mean:0.018): 0.21
  • whonix-workstation-18_vm-vm-gui-concurrent (mean:0.02): 0.24
  • whonix-workstation-18_dom0-vm-api (mean:0.037): 0.45
  • whonix-workstation-18_dom0-vm-gui-api (mean:0.041): 0.49
  • whonix-workstation-18_dom0-vm-concurrent-api (mean:0.027): 0.33
  • whonix-workstation-18_dom0-vm-gui-concurrent-api (mean:0.045): 0.54
  • dom0_root_seq1m_q8t1_read 3:read_bandwidth_kb: 449646.00 🔻 ( previous job: 497426.00, degradation: 90.39%)
  • dom0_root_seq1m_q1t1_read 3:read_bandwidth_kb: 439838.00 🟢 ( previous job: 431512.00, improvement: 101.93%)
  • dom0_root_seq1m_q1t1_write 3:write_bandwidth_kb: 198714.00 🟢 ( previous job: 196254.00, improvement: 101.25%)
  • dom0_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 98177.00 🟢 ( previous job: 23940.00, improvement: 410.10%)
  • dom0_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 3611.00 🟢 ( previous job: 2446.00, improvement: 147.63%)
  • dom0_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 7260.00 🟢 ( previous job: 5874.00, improvement: 123.60%)
  • dom0_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 750.00 🟢 ( previous job: 29.00, improvement: 2586.21%)
  • dom0_varlibqubes_seq1m_q8t1_read 3:read_bandwidth_kb: 308314.00 🟢 ( previous job: 292489.00, improvement: 105.41%)
  • dom0_varlibqubes_seq1m_q1t1_read 3:read_bandwidth_kb: 429216.00 🟢 ( previous job: 137802.00, improvement: 311.47%)
  • dom0_varlibqubes_seq1m_q1t1_write 3:write_bandwidth_kb: 188448.00 🟢 ( previous job: 121719.00, improvement: 154.82%)
  • dom0_varlibqubes_rnd4k_q32t1_read 3:read_bandwidth_kb: 107994.00 🟢 ( previous job: 103932.00, improvement: 103.91%)
  • dom0_varlibqubes_rnd4k_q32t1_write 3:write_bandwidth_kb: 7275.00 🟢 ( previous job: 6356.00, improvement: 114.46%)
  • dom0_varlibqubes_rnd4k_q1t1_read 3:read_bandwidth_kb: 7697.00 🟢 ( previous job: 7695.00, improvement: 100.03%)
  • dom0_varlibqubes_rnd4k_q1t1_write 3:write_bandwidth_kb: 3603.00 🔻 ( previous job: 3925.00, degradation: 91.80%)
  • fedora-42-xfce_root_seq1m_q8t1_read 3:read_bandwidth_kb: 375295.00 🟢 ( previous job: 366891.00, improvement: 102.29%)
  • fedora-42-xfce_root_seq1m_q8t1_write 3:write_bandwidth_kb: 139497.00 🔻 ( previous job: 140215.00, degradation: 99.49%)
  • fedora-42-xfce_root_seq1m_q1t1_write 3:write_bandwidth_kb: 50537.00 🟢 ( previous job: 47575.00, improvement: 106.23%)
  • fedora-42-xfce_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 86479.00 🟢 ( previous job: 86001.00, improvement: 100.56%)
  • fedora-42-xfce_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 8654.00 🔻 ( previous job: 9042.00, degradation: 95.71%)
  • fedora-42-xfce_private_seq1m_q8t1_read 3:read_bandwidth_kb: 375699.00 🔻 ( previous job: 387500.00, degradation: 96.95%)
  • fedora-42-xfce_private_seq1m_q8t1_write 3:write_bandwidth_kb: 142442.00 🟢 ( previous job: 136640.00, improvement: 104.25%)
  • fedora-42-xfce_private_seq1m_q1t1_read 3:read_bandwidth_kb: 333304.00 🟢 ( previous job: 325139.00, improvement: 102.51%)
  • fedora-42-xfce_private_seq1m_q1t1_write 3:write_bandwidth_kb: 76487.00 🔻 ( previous job: 79539.00, degradation: 96.16%)
  • fedora-42-xfce_private_rnd4k_q32t1_read 3:read_bandwidth_kb: 93255.00 🟢 ( previous job: 87396.00, improvement: 106.70%)
  • fedora-42-xfce_private_rnd4k_q32t1_write 3:write_bandwidth_kb: 3427.00 🔻 ( previous job: 3765.00, degradation: 91.02%)
  • fedora-42-xfce_volatile_seq1m_q8t1_read 3:read_bandwidth_kb: 365484.00 🔻 ( previous job: 383531.00, degradation: 95.29%)
  • fedora-42-xfce_volatile_seq1m_q8t1_write 3:write_bandwidth_kb: 165778.00 🟢 ( previous job: 157382.00, improvement: 105.33%)
  • fedora-42-xfce_volatile_seq1m_q1t1_read 3:read_bandwidth_kb: 322936.00 🟢 ( previous job: 293225.00, improvement: 110.13%)
  • fedora-42-xfce_volatile_seq1m_q1t1_write 3:write_bandwidth_kb: 89576.00 🟢 ( previous job: 64217.00, improvement: 139.49%)

Comment on lines 261 to 266
chosen_size = sorted(icons.keys())[-1]
# Override the largest icon with our preferred sizes (if possible)
for size in ICON_PREFERRED_SIZES:
if size in icons.keys():
chosen_size = size
break
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
chosen_size = sorted(icons.keys())[-1]
# Override the largest icon with our preferred sizes (if possible)
for size in ICON_PREFERRED_SIZES:
if size in icons.keys():
chosen_size = size
break
# Override the largest icon with our preferred sizes (if possible)
for size in ICON_PREFERRED_SIZES:
if size in icons.keys():
chosen_size = size
break
else:
chosen_size = sorted(icons.keys())[-1]

This way you avoid sorting if not necessary.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. This is done. And I have to admit I did not know about for else in Python.

Lookup for the most common icon sizes and select one of them first. Then
revert to whatever available size which does not violate our maximum.

Unfortunately pre-SVG era icon designs for few legacy applications is
totally different per icon size. So sending the highest resolution is
not always desirable as it does not scale down well on low-DPI screens.

Practically this patch does not change anything for most programs
(compared to previous situation). Since the previous code started from
128x128 down to the lowest resolution.

Background on various icon sizes in different OS:
https://icons8.com/blog/articles/choosing-the-right-size-and-format-for-icons/

resolves: QubesOS/qubes-issues#10359
@alimirjamali alimirjamali force-pushed the issue-10359-1024x1024-icons branch from 815efb7 to 8c1e9c1 Compare November 12, 2025 21:49
@marmarek
Copy link
Member

PipelineRetry

@marmarek marmarek merged commit a930989 into QubesOS:main Nov 15, 2025
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Some application icons show up as a cube

3 participants