diff --git a/src/index.js b/src/index.js index a3aa14732..f0fe56ae5 100644 --- a/src/index.js +++ b/src/index.js @@ -26,19 +26,18 @@ if (isWindows) { } // Force single window -if (process.platform !== 'darwin') { - const isSecondInstance = app.makeSingleInstance(() => { - if (mainWindow) { - if (mainWindow.isMinimized()) mainWindow.restore(); - mainWindow.focus(); - } - }); - - if (isSecondInstance) { - app.quit(); +const isSecondInstance = app.makeSingleInstance(() => { + if (mainWindow) { + if (mainWindow.isMinimized()) mainWindow.restore(); + mainWindow.focus(); } +}); + +if (isSecondInstance) { + app.exit(); } + // Initialize Settings const settings = new Settings(); @@ -86,9 +85,13 @@ const createWindow = async () => { // when you should delete the corresponding element. if (!willQuitApp && (settings.get('runInBackground') === undefined || settings.get('runInBackground'))) { e.preventDefault(); - mainWindow.hide(); + if (isWindows) { + mainWindow.minimize(); + } else { + mainWindow.hide(); + } - if (process.platform === 'win32') { + if (isWindows && settings.get('minimizeToSystemTray')) { mainWindow.setSkipTaskbar(true); } } else { @@ -111,13 +114,6 @@ const createWindow = async () => { app.isMaximized = true; }); - mainWindow.on('close', (e) => { - if (settings.get('minimizeToSystemTray')) { - e.preventDefault(); - mainWindow.minimize(); - } - }); - mainWindow.on('unmaximize', () => { app.isMaximized = false; });