Merge pull request #229 from multica-ai/fix/macos-fullscreen-close-black-screen

fix(desktop): prevent black screen when closing fullscreen window on macOS
This commit is contained in:
Naiyuan Qing 2026-02-26 16:40:38 +08:00 committed by GitHub
commit 1eb8fdab58
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -147,11 +147,25 @@ function createWindow() {
return { action: 'deny' }
})
// Track renderer crashes for debugging
win.webContents.on('render-process-gone', (_event, details) => {
console.error('[Window] Renderer process gone:', details.reason, details.exitCode)
})
// Hide window on close instead of quitting (tray keeps running)
win.on('close', (event) => {
if (!isQuitting) {
event.preventDefault()
win?.hide()
// On macOS, hiding a fullscreen window causes a black screen.
// Exit fullscreen first, then hide.
if (win?.isFullScreen()) {
win.once('leave-full-screen', () => {
win?.hide()
})
win.setFullScreen(false)
} else {
win?.hide()
}
}
})