aboutsummaryrefslogtreecommitdiffstats
path: root/src/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/index.js')
-rw-r--r--src/index.js34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/index.js b/src/index.js
index 030736fee..f0fe56ae5 100644
--- a/src/index.js
+++ b/src/index.js
@@ -2,18 +2,14 @@ import { app, BrowserWindow, shell } from 'electron';
2import fs from 'fs-extra'; 2import fs from 'fs-extra';
3import path from 'path'; 3import path from 'path';
4 4
5/* eslint-disable */
6if (require('electron-squirrel-startup')) app.quit();
7
8import windowStateKeeper from 'electron-window-state'; 5import windowStateKeeper from 'electron-window-state';
9 6
10import { isDevMode, isWindows } from './environment'; 7import { isDevMode, isWindows } from './environment';
11import ipcApi from './electron/ipc-api'; 8import ipcApi from './electron/ipc-api';
12import Tray from './lib/Tray'; 9import Tray from './lib/Tray';
13import Settings from './electron/Settings'; 10import Settings from './electron/Settings';
14import { appId } from './package.json'; 11import { appId } from './package.json'; // eslint-disable-line import/no-unresolved
15import './electron/exception'; 12import './electron/exception';
16/* eslint-enable */
17 13
18// Keep a global reference of the window object, if you don't, the window will 14// Keep a global reference of the window object, if you don't, the window will
19// be closed automatically when the JavaScript object is garbage collected. 15// be closed automatically when the JavaScript object is garbage collected.
@@ -22,6 +18,7 @@ let willQuitApp = false;
22 18
23// Ensure that the recipe directory exists 19// Ensure that the recipe directory exists
24fs.ensureDir(path.join(app.getPath('userData'), 'recipes')); 20fs.ensureDir(path.join(app.getPath('userData'), 'recipes'));
21fs.emptyDirSync(path.join(app.getPath('userData'), 'recipes', 'temp'));
25 22
26// Set App ID for Windows 23// Set App ID for Windows
27if (isWindows) { 24if (isWindows) {
@@ -29,19 +26,18 @@ if (isWindows) {
29} 26}
30 27
31// Force single window 28// Force single window
32if (process.platform !== 'darwin') { 29const isSecondInstance = app.makeSingleInstance(() => {
33 const isSecondInstance = app.makeSingleInstance(() => { 30 if (mainWindow) {
34 if (mainWindow) { 31 if (mainWindow.isMinimized()) mainWindow.restore();
35 if (mainWindow.isMinimized()) mainWindow.restore(); 32 mainWindow.focus();
36 mainWindow.focus();
37 }
38 });
39
40 if (isSecondInstance) {
41 app.quit();
42 } 33 }
34});
35
36if (isSecondInstance) {
37 app.exit();
43} 38}
44 39
40
45// Initialize Settings 41// Initialize Settings
46const settings = new Settings(); 42const settings = new Settings();
47 43
@@ -89,9 +85,13 @@ const createWindow = async () => {
89 // when you should delete the corresponding element. 85 // when you should delete the corresponding element.
90 if (!willQuitApp && (settings.get('runInBackground') === undefined || settings.get('runInBackground'))) { 86 if (!willQuitApp && (settings.get('runInBackground') === undefined || settings.get('runInBackground'))) {
91 e.preventDefault(); 87 e.preventDefault();
92 mainWindow.hide(); 88 if (isWindows) {
89 mainWindow.minimize();
90 } else {
91 mainWindow.hide();
92 }
93 93
94 if (process.platform === 'win32') { 94 if (isWindows && settings.get('minimizeToSystemTray')) {
95 mainWindow.setSkipTaskbar(true); 95 mainWindow.setSkipTaskbar(true);
96 } 96 }
97 } else { 97 } else {