diff --git a/desktop/app.js b/desktop/app.js index 00b40c2..2eac8d4 100644 --- a/desktop/app.js +++ b/desktop/app.js @@ -54,6 +54,29 @@ function getStatusLabel() { return messages.trayServiceStopped; } +function getTrayIcon() { + if (process.platform === 'darwin') { + const iconPath16 = path.join(__dirname, '..', 'images', 'icons', 'icon@16px.png'); + const iconPath32 = path.join(__dirname, '..', 'images', 'icons', 'icon@32px.png'); + const icon = nativeImage.createFromPath(iconPath16); + if (fsSync.existsSync(iconPath32)) { + const icon2x = nativeImage.createFromPath(iconPath32); + icon.addRepresentation({ + scaleFactor: 2, + width: 32, + height: 32, + buffer: icon2x.toPNG() + }); + } + icon.setTemplateImage(true); + return icon; + } + const scaleFactor = screen.getPrimaryDisplay().scaleFactor || 1; + const size = scaleFactor >= 1.25 ? 32 : 16; + const iconPath = path.join(__dirname, '..', 'images', 'icons', `icon@${size}px.png`); + return nativeImage.createFromPath(iconPath); +} + function updateTray() { if (!tray) return; updateTrayMenu({ @@ -256,8 +279,7 @@ export async function startDesktop() { createSettingsWindow({ url: loadingUrl, preload: preloadPath, parent: mainWindow }); mainWindow.once('ready-to-show', () => mainWindow.show()); - const iconPath = path.join(__dirname, '..', 'images', 'icons', 'icon@16px.png'); - const trayIcon = nativeImage.createFromPath(iconPath); + const trayIcon = getTrayIcon(); tray = createTray({ icon: trayIcon, tooltip: messages.appName, diff --git a/images/icon.png b/images/icon.png index c36dcd9..b921bc5 100644 Binary files a/images/icon.png and b/images/icon.png differ diff --git a/images/icon.svg b/images/icon.svg new file mode 100644 index 0000000..371eb2b --- /dev/null +++ b/images/icon.svg @@ -0,0 +1,50 @@ + + + +MT diff --git a/images/icons/icon@1024px.png b/images/icons/icon@1024px.png index 253015d..28be9ec 100644 Binary files a/images/icons/icon@1024px.png and b/images/icons/icon@1024px.png differ diff --git a/images/icons/icon@128px.png b/images/icons/icon@128px.png index af45c72..e7343c7 100644 Binary files a/images/icons/icon@128px.png and b/images/icons/icon@128px.png differ diff --git a/images/icons/icon@16px.png b/images/icons/icon@16px.png index dca6c9f..e48b821 100644 Binary files a/images/icons/icon@16px.png and b/images/icons/icon@16px.png differ diff --git a/images/icons/icon@180px.png b/images/icons/icon@180px.png index 401f3ba..f6b5c90 100644 Binary files a/images/icons/icon@180px.png and b/images/icons/icon@180px.png differ diff --git a/images/icons/icon@192px.png b/images/icons/icon@192px.png index 212c89f..ff682f0 100644 Binary files a/images/icons/icon@192px.png and b/images/icons/icon@192px.png differ diff --git a/images/icons/icon@2048px.png b/images/icons/icon@2048px.png index dc3a69b..124b6ba 100644 Binary files a/images/icons/icon@2048px.png and b/images/icons/icon@2048px.png differ diff --git a/images/icons/icon@24px.png b/images/icons/icon@24px.png index b1b2ee7..8cf5e82 100644 Binary files a/images/icons/icon@24px.png and b/images/icons/icon@24px.png differ diff --git a/images/icons/icon@256px.png b/images/icons/icon@256px.png index a2d1c32..1bac145 100644 Binary files a/images/icons/icon@256px.png and b/images/icons/icon@256px.png differ diff --git a/images/icons/icon@32px.png b/images/icons/icon@32px.png index 61268c9..966278b 100644 Binary files a/images/icons/icon@32px.png and b/images/icons/icon@32px.png differ diff --git a/images/icons/icon@48px.png b/images/icons/icon@48px.png index aab88cc..e53b6f3 100644 Binary files a/images/icons/icon@48px.png and b/images/icons/icon@48px.png differ diff --git a/images/icons/icon@512px.png b/images/icons/icon@512px.png index c36dcd9..ee3cb7f 100644 Binary files a/images/icons/icon@512px.png and b/images/icons/icon@512px.png differ diff --git a/images/icons/icon@64px.png b/images/icons/icon@64px.png index 34129a9..83cdb1b 100644 Binary files a/images/icons/icon@64px.png and b/images/icons/icon@64px.png differ diff --git a/images/lines.png b/images/lines.png deleted file mode 100644 index cab280d..0000000 Binary files a/images/lines.png and /dev/null differ diff --git a/scripts/electron-build.ts b/scripts/electron-build.ts index 2d5e407..5c30297 100644 --- a/scripts/electron-build.ts +++ b/scripts/electron-build.ts @@ -76,7 +76,7 @@ async function repackAsar(unpackedDir: string) { if (fs.existsSync(asarUnpackDir)) { fs.rmSync(asarUnpackDir, { recursive: true }) } - await run('npx', ['@electron/asar', 'pack', appDir, asarFile]) + await run('npx', ['--yes', '@electron/asar', 'pack', appDir, asarFile]) fs.rmSync(appDir, { recursive: true }) } diff --git a/ui/public/icon.png b/ui/public/icon.png index c36dcd9..b921bc5 100644 Binary files a/ui/public/icon.png and b/ui/public/icon.png differ