From d91dc1d5e2ac0973041d37990ea7d95130055538 Mon Sep 17 00:00:00 2001 From: MiTHRAL Date: Wed, 22 Apr 2026 15:20:34 -0400 Subject: [PATCH] fix: keep strong reference to tray icon to prevent GC on Linux --- src/native/tray.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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() {