fix: keep strong reference to tray icon to prevent GC on Linux

This commit is contained in:
MiTHRAL 2026-04-22 15:20:34 -04:00
parent 13bd7e1522
commit d91dc1d5e2

View file

@ -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() {