From 2c2f342854a4e3ad9642f7401fbf3e049c75e0be Mon Sep 17 00:00:00 2001 From: sudacode Date: Thu, 19 Feb 2026 00:02:51 -0800 Subject: [PATCH] fix(tray): add macOS template tray icon assets --- assets/SubMinerTemplate.png | Bin 0 -> 433 bytes assets/SubMinerTemplate@2x.png | Bin 0 -> 580 bytes src/main.ts | 19 ++++++++++++++----- 3 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 assets/SubMinerTemplate.png create mode 100644 assets/SubMinerTemplate@2x.png diff --git a/assets/SubMinerTemplate.png b/assets/SubMinerTemplate.png new file mode 100644 index 0000000000000000000000000000000000000000..4a5f7e263c61a390eb155115dd513d2f5f7683be GIT binary patch literal 433 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+0wn(&ce?|m6p}rHd>I(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC!N4G1FlSew4N!t9$=lt9fnimzvJsHSUgGKN%KnN;m|a6hbM4!i zKq1u<*NBpo#FA92yBcn*`!+e`Z z7X_F4IV-xTZe)($z|wlp$wX-P1&uWhsk~fToSdERZl*IjT~61pu70;uz5V|3HNWm& z*&g8CwerZmK*I?^K|kgQt(eXI_G_u{*2T`hGEYj)e8KVL>lD-2wRav{@>)N|k0wldT1B8K;Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZK3>dAqwXFs$lTHUje4OFVsD*o>z%ybQmbPX*-49u-e46IB{v<(cb3=H0`UZ9JjAvZrI zGp!Q0hB@CPCIU5Rz-=hW%uOvWNz5(4t>^S(OFsq%Mh#CF#}JR>Z!hfCJ{l-<{NwcW zO`c+6T-|4N%pxUH6d&;$Xg2>pI6on2LxhfzW?Hw%slyE-lb^3^FXnmov~2gEb?=tc zz0aTPS9`v){`}7glRovoxU_s-jc>21|1=YI`L%zxO3&G4yiz|ho_~#k{);qr8MTzH4(rMM(Y@s8hO=wbx~7>fxIHgHQSr9^D&JdE z1z8ofcWqCMYS(4=>zTG_rO|W4_qu^+Ud73rj4(|N^xd@Ly6?T{L({dk?>1ZS?Yb!= zz)eG-bx+s4ui|l9Vz>4=i>9PMTfg(}?(3Hh&HETL;bQsSD5JG2O#;_Orn^3>6JEPo zzwGJr6IQ%0E-nfyczbP0 Hl+XkK0Q=hS literal 0 HcmV?d00001 diff --git a/src/main.ts b/src/main.ts index 5b517a3..3a42b6d 100644 --- a/src/main.ts +++ b/src/main.ts @@ -2709,12 +2709,21 @@ function createInvisibleWindow(): BrowserWindow { } function resolveTrayIconPath(): string | null { - const candidates = [ - path.join(process.resourcesPath, 'assets', 'SubMiner.png'), - path.join(app.getAppPath(), 'assets', 'SubMiner.png'), - path.join(__dirname, '..', 'assets', 'SubMiner.png'), - path.join(__dirname, '..', '..', 'assets', 'SubMiner.png'), + const iconNames = + process.platform === 'darwin' + ? ['SubMinerTemplate.png', 'SubMinerTemplate@2x.png', 'SubMiner.png'] + : ['SubMiner.png']; + + const baseDirs = [ + path.join(process.resourcesPath, 'assets'), + path.join(app.getAppPath(), 'assets'), + path.join(__dirname, '..', 'assets'), + path.join(__dirname, '..', '..', 'assets'), ]; + + const candidates = baseDirs.flatMap((baseDir) => + iconNames.map((iconName) => path.join(baseDir, iconName)), + ); for (const candidate of candidates) { if (fs.existsSync(candidate)) { return candidate;