diff --git a/src/main/index.ts b/src/main/index.ts index c71d1ac..b541b1b 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -16,6 +16,12 @@ import { createDefaultQuickPromptSettings } from '@shared/domain/tooling'; const { app, BrowserWindow } = electron; +// Enforce single instance — quit immediately if another instance already holds the lock. +const gotTheLock = app.requestSingleInstanceLock(); +if (!gotTheLock) { + app.quit(); +} + let mainWindow: BrowserWindowType | undefined; let quickPromptWindow: BrowserWindowType | undefined; let appService: AryxAppService | undefined; @@ -109,6 +115,10 @@ async function bootstrap(): Promise { autoUpdateService.start(); } +app.on('second-instance', () => { + showAndFocusWindow(); +}); + app.whenReady().then(bootstrap); app.on('window-all-closed', () => {