From 9f9f5de5ddd80aced6f01fbbb5afe2e1c9c563f5 Mon Sep 17 00:00:00 2001 From: Yuya Ochiai Date: Tue, 28 Aug 2018 22:28:47 +0900 Subject: [PATCH] Hide the main window on Mac auto-start --- src/main.js | 7 ++----- src/main/utils.js | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 src/main/utils.js diff --git a/src/main.js b/src/main.js index e6cfd1ea..da7df68c 100644 --- a/src/main.js +++ b/src/main.js @@ -50,6 +50,7 @@ import PermissionManager from './main/PermissionManager'; import permissionRequestHandler from './main/permissionRequestHandler'; import AppStateManager from './main/AppStateManager'; import initCookieManager from './main/cookieManager'; +import {shouldBeHiddenOnStartup} from './main/utils'; import SpellChecker from './main/SpellChecker'; @@ -65,11 +66,7 @@ let appState = null; let permissionManager = null; const argv = parseArgv(process.argv.slice(1)); - -var hideOnStartup; -if (argv.hidden) { - hideOnStartup = true; -} +const hideOnStartup = shouldBeHiddenOnStartup(argv); if (argv['data-dir']) { app.setPath('userData', path.resolve(argv['data-dir'])); diff --git a/src/main/utils.js b/src/main/utils.js new file mode 100644 index 00000000..5baaa415 --- /dev/null +++ b/src/main/utils.js @@ -0,0 +1,17 @@ +// Copyright (c) 2015-2016 Yuya Ochiai +// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. +// See LICENSE.txt for license information. + +import {app} from 'electron'; + +export function shouldBeHiddenOnStartup(parsedArgv) { + if (parsedArgv.hidden) { + return true; + } + if (process.platform === 'darwin') { + if (app.getLoginItemSettings().wasOpenedAsHidden) { + return true; + } + } + return false; +}