diff --git a/app/public/electron.js b/app/public/electron.js index aa8cf8731..eaab5f004 100644 --- a/app/public/electron.js +++ b/app/public/electron.js @@ -305,6 +305,15 @@ function showAllRepoWindows() { allConfigs().forEach(showRepoWindow); } +function safeTrayHandler(ev, h) { + tray.on(ev, () => { + try { + h(); + } catch (e) { + } + }) +} + app.on('ready', () => { loadConfigs(); @@ -327,6 +336,11 @@ app.on('ready', () => { selectByOS({ mac: 'kopia-tray.png', win: 'kopia-tray.ico', linux: 'kopia-tray.png' }))); tray.setToolTip('Kopia'); + + safeTrayHandler("click", () => tray.popUpContextMenu()); + safeTrayHandler("right-click", () => tray.popUpContextMenu()); + safeTrayHandler("double-click", () => showAllRepoWindows()); + updateTrayContextMenu(); refreshWillLaunchAtStartup(); updateDockIcon();