diff --git a/icons/png/32x32@2x.png b/icons/png/32x32@2x.png new file mode 100644 index 0000000..c0ace13 Binary files /dev/null and b/icons/png/32x32@2x.png differ diff --git a/main.js b/main.js index cd41b81..673096a 100644 --- a/main.js +++ b/main.js @@ -115,7 +115,12 @@ function createWindow() { // Function to create the system tray function createTray() { - tray = new Tray(path.join(__dirname, "icons", "png", "32x32.png")); + // On macOS, use 32x32@2x.png so Electron treats the 32px asset as @2x (16pt). + // Without the @2x filename, macOS renders it at 32pt and it looks oversized. + // Do not call setTemplateImage — the PNG is full-color, not a menu-bar template. + const trayIconFile = + process.platform === "darwin" ? "32x32@2x.png" : "32x32.png"; + tray = new Tray(path.join(__dirname, "icons", "png", trayIconFile)); const contextMenu = Menu.buildFromTemplate([ { label: "Show GPG Bridge UI",