From 97582f48500c19b32cc54f35e770ec3ffd8504c9 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Sun, 16 Dec 2018 00:20:07 -0600 Subject: [PATCH] Refactoring --- electron.js | 49 ++++++++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/electron.js b/electron.js index 3a7af3c..07a2437 100644 --- a/electron.js +++ b/electron.js @@ -33,6 +33,31 @@ function closeApplication() { app.quit(); } +function setWindowVisibility(show) { + if (show) { + mainWindow.show(); + if (os.platform() === 'darwin') { + app.dock.show(); + } + + if (mainWindow.isMinimized()) { + mainWindow.restore(); + } + + mainWindow.focus(); + } else { + mainWindow.hide(); + if (os.platform() === 'darwin') { + app.dock.hide(); + } + } + + if (trayContextMenu && mainWindowTray) { + trayContextMenu.items[0].checked = show; + mainWindowTray.setContextMenu(trayContextMenu) + } +} + function createWindow() { loadUiSettings(); @@ -87,15 +112,7 @@ function createWindow() { trayContextMenu = Menu.buildFromTemplate([ { label: 'Visible', type: 'checkbox', click(item) { - if (item.checked) { - mainWindow.show(); - if (mainWindow.isMinimized()) { - mainWindow.restore(); - } - mainWindow.focus() - } else { - mainWindow.hide(); - } + setWindowVisibility(item.checked); }, checked: !launchHidden, }, @@ -132,9 +149,7 @@ function createWindow() { if (!isQuiting) { event.preventDefault(); if (mainWindow.isVisible()) { - mainWindow.hide(); - trayContextMenu.items[0].checked = false; - mainWindowTray.setContextMenu(trayContextMenu); + setWindowVisibility(false); } event.returnValue = false; } @@ -160,15 +175,7 @@ if (!instanceLock) { } else { app.on('second-instance', () => { if (mainWindow) { - mainWindow.show(); - if (trayContextMenu && mainWindowTray) { - trayContextMenu.items[0].checked = true; - mainWindowTray.setContextMenu(trayContextMenu) - } - if (mainWindow.isMinimized()) { - mainWindow.restore(); - } - mainWindow.focus() + setWindowVisibility(true, true); } });