diff --git a/src/native/tray.ts b/src/native/tray.ts index a91ffe6..5174224 100644 --- a/src/native/tray.ts +++ b/src/native/tray.ts @@ -10,6 +10,8 @@ import { getThemeFiles, getActiveTheme, applyTheme, cycleTheme, reloadTheme, ope // internal tray state let tray: Tray = null; +// Keep strong reference to prevent garbage collection on Linux +let trayIcon: Electron.NativeImage; // Create and resize tray icon for macOS function createTrayIcon() { @@ -17,10 +19,11 @@ function createTrayIcon() { const image = nativeImage.createFromDataURL(macOsTrayIconAsset); const resized = image.resize({ width: 20, height: 20 }); resized.setTemplateImage(true); - return resized; + trayIcon = resized; } else { - return nativeImage.createFromDataURL(trayIconAsset); + trayIcon = nativeImage.createFromDataURL(trayIconAsset); } + return trayIcon; } export function initTray() {