diff --git a/assets/SubMinerTemplate.png b/assets/SubMinerTemplate.png new file mode 100644 index 0000000..4a5f7e2 Binary files /dev/null and b/assets/SubMinerTemplate.png differ diff --git a/assets/SubMinerTemplate@2x.png b/assets/SubMinerTemplate@2x.png new file mode 100644 index 0000000..4451469 Binary files /dev/null and b/assets/SubMinerTemplate@2x.png differ 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;