macOS: change window close behavior, like other macOS App (#999)

This commit is contained in:
Gemini Wen 2025-07-08 14:00:21 +08:00 committed by GitHub
parent 2492456b93
commit 0b7d4bfb6a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -421,9 +421,6 @@ async function createWindow(first = true): Promise<void> {
store.set('fullscreen', mainWindow?.isFullScreen());
if (!exitFromTray && store.get('window_exit_to_tray')) {
if (isMacOS() && !forceQuit) {
exitFromTray = true;
}
event.preventDefault();
mainWindow?.hide();
}
@ -432,8 +429,6 @@ async function createWindow(first = true): Promise<void> {
event.preventDefault();
saved = true;
getMainWindow()?.webContents.send('renderer-save-queue');
ipcMain.once('player-save-queue', async (_event, data: Record<string, any>) => {
const queueLocation = join(app.getPath('userData'), 'queue');
const serialized = JSON.stringify(data);
@ -457,12 +452,19 @@ async function createWindow(first = true): Promise<void> {
} catch (error) {
console.error('error saving queue state: ', error);
} finally {
mainWindow?.close();
if (!isMacOS()) {
mainWindow?.close();
}
if (forceQuit) {
app.exit();
}
}
});
getMainWindow()?.webContents.send('renderer-save-queue');
} else {
if (forceQuit) {
app.exit();
}
}
});