fix(icons): improve Linux tray display and refresh assets (#362)

Returning an empty `icon_name` in `tray_linux_ksni.rs` forces SNI
panels (e.g., KDE Plasma) to render the explicit `IconPixmap` data.
This prevents panels from incorrectly resolving the full-color app icon
from the system theme instead of the intended monochrome tray glyph.

Also updates `src-tauri/icons/icon-symbolic.svg` and regenerates
all `tray-dark-*.png` and `tray-light-*.png` assets.
Adds `static/logo.svg` as the main application logo.
This commit is contained in:
vicrodh committed 2026-04-28 07:37:48 -06:00
1 parent f533660a43
commit 2ebb874f43
11 files changed
+76 -15

No files matched your search

+28 -12
View File
@@ -1,16 +1,32 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg"
viewBox="149 1 944 944"
width="944"
height="944"
fill="currentColor"
stroke="currentColor">
<g transform="translate(4.763702,7.069182)">
<g transform="matrix(0.1,0,0,-0.1,0,1198)">
<path stroke-width="320"
stroke-linejoin="round"
stroke-linecap="round"
d="m 9334,10872 c 4,-7 3,-12 -2,-12 -6,0 5,-30 24,-67 72,-143 74,-338 4,-496 -83,-187 -503,-608 -853,-855 -205,-145 -333,-214 -527,-285 -266,-97 -474,-138 -713,-138 -192,0 -267,9 -552,66 -333,67 -413,76 -685,82 -184,4 -285,1 -405,-11 -942,-95 -1791,-610 -2327,-1412 -90,-135 -254,-453 -321,-624 -159,-407 -234,-879 -208,-1312 19,-306 64,-560 143,-798 171,-519 431,-943 818,-1331 246,-247 473,-418 742,-558 338,-177 663,-281 1058,-337 172,-25 606,-30 775,-9 412,50 807,177 1157,371 173,97 241,111 362,73 80,-25 96,-39 426,-365 184,-182 237,-228 289,-255 265,-133 581,79 558,375 -11,148 -50,203 -326,471 -133,128 -249,263 -279,322 -15,29 -22,62 -23,110 -2,109 7,132 105,283 106,162 114,175 195,332 279,537 400,1167 340,1768 -33,330 -113,655 -234,950 -157,386 -269,499 -477,488 -127,-6 -223,-73 -280,-194 -25,-54 -30,-76 -30,-145 0,-80 1,-83 62,-208 111,-223 159,-349 210,-551 63,-250 74,-350 74,-650 1,-300 -6,-357 -66,-595 -52,-206 -114,-374 -200,-535 -139,-263 -202,-320 -353,-320 -50,0 -69,5 -106,28 -24,16 -182,164 -350,329 -369,364 -376,368 -539,368 -93,0 -112,-3 -162,-27 -189,-88 -274,-306 -196,-504 21,-52 52,-87 313,-348 160,-159 300,-303 313,-320 42,-57 56,-159 31,-233 -43,-131 -444,-286 -899,-346 -119,-16 -349,-19 -490,-6 -471,44 -881,194 -1242,456 -272,196 -514,468 -690,774 -147,254 -265,577 -308,844 -50,304 -48,629 4,935 36,211 132,489 237,690 395,752 1143,1255 1979,1331 248,22 542,3 800,-52 315,-67 390,-81 530,-94 902,-89 1645,218 2424,1001 217,218 366,355 433,400 124,82 290,114 421,79 70,-19 155,-57 185,-83 9,-8 17,-12 17,-7 0,4 7,2 15,-5 8,-7 15,-9 15,-5 0,4 6,4 13,-1 7,-5 6,-2 -3,6 -9,8 -16,18 -16,21 3,29 -567,635 -585,623 -5,-3 -8,-2 -7,3 3,8 -59,68 -197,189 -132,117 -416,338 -386,301 12,-15 12,-17 -3,-11 -9,3 -16,12 -16,19 0,8 -5,17 -12,21 -7,4 -8,3 -4,-4 z"/>
</g>
viewBox="0 0 1024 1024"
width="1024"
height="1024">
<g transform="translate(0,1024) scale(0.1,-0.1)" fill="currentColor">
<path d="M4760 10144 c-19 -2 -91 -9 -160 -14 -847 -72 -1725 -399 -2431 -906
-1164 -835 -1890 -2083 -2056 -3536 -25 -220 -25 -916 0 -1136 154 -1342 780
-2504 1802 -3342 742 -609 1640 -983 2637 -1097 220 -25 915 -25 1138 0 1649
187 3040 1107 3839 2540 319 572 519 1205 598 1899 25 220 25 916 0 1136 -272
2372 -2067 4171 -4427 4438 -136 15 -842 29 -940 18z m670 -825 c683 -62 1338
-282 1910 -642 l85 -54 6 -79 c3 -46 16 -103 29 -136 22 -57 22 -59 5 -103
-59 -155 -443 -516 -731 -688 -138 -83 -405 -168 -570 -182 -84 -8 -196 6
-394 46 -257 53 -610 73 -870 50 -1126 -100 -2011 -942 -2187 -2081 -25 -163
-25 -601 1 -785 108 -784 631 -1513 1331 -1855 223 -109 407 -170 655 -216
143 -26 698 -32 859 -9 248 36 473 106 720 226 90 43 165 79 168 79 2 0 89
-83 193 -184 284 -276 310 -290 530 -284 110 3 146 8 193 27 81 32 168 114
209 199 l33 67 0 160 c0 223 -5 234 -235 471 -95 97 -176 187 -182 199 -9 19
-1 37 49 116 261 411 377 802 390 1304 11 452 -61 826 -228 1183 -116 247
-206 320 -408 329 -228 11 -348 -48 -425 -207 -30 -64 -31 -68 -31 -215 l0
-150 61 -130 c136 -287 178 -458 178 -730 1 -177 -1 -198 -28 -305 -40 -160
-79 -268 -142 -390 -83 -161 -73 -155 -147 -84 -364 351 -377 363 -440 394
l-65 32 -173 -4 c-199 -3 -235 -15 -327 -108 -88 -87 -107 -149 -107 -340 0
-223 -4 -216 251 -478 108 -112 195 -204 193 -206 -31 -27 -207 -88 -332 -115
-223 -48 -367 -48 -595 -1 -578 120 -1041 544 -1237 1134 -318 959 385 1998
1426 2106 127 13 267 -2 544 -57 l230 -46 275 -4 c218 -4 299 -2 390 11 469
66 863 279 1305 706 397 384 395 383 529 315 57 -29 81 -35 131 -35 72 0 66 5
155 -128 578 -864 822 -1900 680 -2878 -163 -1115 -762 -2124 -1663 -2802
-878 -660 -1994 -961 -3032 -816 -1884 261 -3370 1736 -3645 3618 -80 550 -42
1102 116 1656 477 1672 1877 2869 3609 3085 212 26 554 33 755 14z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 598 B

After

Width:  |  Height:  |  Size: 707 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 851 B

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 602 B

After

Width:  |  Height:  |  Size: 704 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 838 B

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

+6 -3
View File
@@ -147,9 +147,12 @@ impl Tray for QbzTray {
}
fn icon_name(&self) -> String {
// Fall back to the themed icon name when the panel prefers it over
// pixmap data (some GNOME extensions, certain remote X11 setups).
"com.blitzfc.qbz".into()
// Intentionally empty: SNI panels (KDE Plasma especially) prefer
// IconName over IconPixmap when both are present, and resolving the
// app id `com.blitzfc.qbz` against the icon theme picks up the full
// colour app icon instead of our themed monochrome glyph (issue #362).
// An empty name forces panels to render IconPixmap directly.
String::new()
}
fn icon_pixmap(&self) -> Vec<Icon> {