From 5094968a174d0d6ff19b40884b21755f8ee1f4f9 Mon Sep 17 00:00:00 2001 From: Michael Hollister Date: Fri, 18 Apr 2025 11:32:01 -0500 Subject: [PATCH] Electron: Prevent multiple application instances --- receivers/electron/src/Main.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/receivers/electron/src/Main.ts b/receivers/electron/src/Main.ts index 5e2a1d0..163fd4d 100644 --- a/receivers/electron/src/Main.ts +++ b/receivers/electron/src/Main.ts @@ -349,6 +349,23 @@ export class Main { Main.startFullscreen = argv.fullscreen; Main.shouldOpenMainWindow = !argv.noMainWindow; + + const lock = Main.application.requestSingleInstanceLock() + if (!lock) { + Main.application.quit(); + return; + } + Main.application.on('second-instance', () => { + if (Main.mainWindow) { + if (Main.mainWindow.isMinimized()) { + Main.mainWindow.restore(); + } + Main.mainWindow.focus(); + } + else { + Main.openMainWindow(); + } + }) Main.application.on('ready', Main.onReady); Main.application.on('window-all-closed', () => { }); }