diff --git a/packages/desktop/src/main/index.ts b/packages/desktop/src/main/index.ts index 7fb56391a6f..183fc634db0 100644 --- a/packages/desktop/src/main/index.ts +++ b/packages/desktop/src/main/index.ts @@ -6,7 +6,7 @@ import { homedir, tmpdir } from "node:os" import { join } from "node:path" import { getCACertificates, setDefaultCACertificates } from "node:tls" import type { Event } from "electron" -import { app } from "electron" +import { app, BrowserWindow } from "electron" import { Deferred, Effect, Fiber } from "effect" import contextMenu from "electron-context-menu" @@ -408,6 +408,15 @@ const main = Effect.gen(function* () { yield* Fiber.await(loadingTask) + app.on("window-all-closed", () => { + if (process.platform === "darwin") return + app.quit() + }) + app.on("activate", () => { + if (BrowserWindow.getAllWindows().length > 0) return + restoreMainWindows() + }) + const windows = restoreMainWindows() if (windows.length) createMenu(menuDeps) })