diff --git a/src-electron/main.js b/src-electron/main.js index 281969e3..36da08c2 100644 --- a/src-electron/main.js +++ b/src-electron/main.js @@ -913,6 +913,11 @@ app.whenReady().then(() => { app.on('activate', function () { if (BrowserWindow.getAllWindows().length === 0) { createWindow(); + } else { + // Ensure main window shows when clicking Dock icon (critical for macOS) + if (mainWindow && !mainWindow.isVisible()) { + mainWindow.show(); + } } }); }); @@ -940,6 +945,8 @@ function disposeOverlay() { } app.on('before-quit', function () { + // Mark it as a quitting state to make macOS Dock's "Quit" action take effect. + appIsQuitting = true; disposeOverlay(); }); diff --git a/src/stores/settings/general.js b/src/stores/settings/general.js index b28d42ad..f46b4908 100644 --- a/src/stores/settings/general.js +++ b/src/stores/settings/general.js @@ -21,7 +21,7 @@ export const useGeneralSettingsStore = defineStore('GeneralSettings', () => { const isStartAtWindowsStartup = ref(false); const isStartAsMinimizedState = ref(false); const disableGpuAcceleration = ref(false); - const isCloseToTray = ref(false); + const isCloseToTray = ref(process.platform === 'darwin' ? true : false); const disableVrOverlayGpuAcceleration = ref(false); const localFavoriteFriendsGroups = ref([]); const udonExceptionLogging = ref(false);