From 817f01321d19c8dcd84923c0ebda59e25467c87d Mon Sep 17 00:00:00 2001 From: Jari Kolehmainen Date: Mon, 15 Mar 2021 14:03:06 +0200 Subject: [PATCH] Start hidden on autostart (#2334) Signed-off-by: Jari Kolehmainen --- src/common/user-store.ts | 6 +++++- src/main/index.ts | 10 +++++++++- src/main/window-manager.ts | 1 - 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/common/user-store.ts b/src/common/user-store.ts index 3df9125224..66ab628453 100644 --- a/src/common/user-store.ts +++ b/src/common/user-store.ts @@ -74,7 +74,11 @@ export class UserStore extends BaseStore { // open at system start-up reaction(() => this.preferences.openAtLogin, openAtLogin => { - app.setLoginItemSettings({ openAtLogin }); + app.setLoginItemSettings({ + openAtLogin, + openAsHidden: true, + args: ["--hidden"] + }); }, { fireImmediately: true, }); diff --git a/src/main/index.ts b/src/main/index.ts index 9a0b11b626..79f2a239bc 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -5,7 +5,7 @@ import "../common/prometheus-providers"; import * as Mobx from "mobx"; import * as LensExtensions from "../extensions/core-api"; import { app, autoUpdater, ipcMain, dialog, powerMonitor } from "electron"; -import { appName } from "../common/vars"; +import { appName, isMac } from "../common/vars"; import path from "path"; import { LensProxy } from "./lens-proxy"; import { WindowManager } from "./window-manager"; @@ -151,9 +151,17 @@ app.on("ready", async () => { extensionLoader.init(); extensionDiscovery.init(); + // Start the app without showing the main window when auto starting on login + // (On Windows and Linux, we get a flag. On MacOS, we get special API.) + const startHidden = process.argv.includes("--hidden") || (isMac && app.getLoginItemSettings().wasOpenedAsHidden); + logger.info("🖥️ Starting WindowManager"); windowManager = WindowManager.getInstance(proxyPort); + if (!startHidden) { + windowManager.initMainWindow(); + } + ipcMain.on("renderer:loaded", () => { startUpdateChecking(); LensProtocolRouterMain diff --git a/src/main/window-manager.ts b/src/main/window-manager.ts index af3d2ee1ca..0b7272331e 100644 --- a/src/main/window-manager.ts +++ b/src/main/window-manager.ts @@ -23,7 +23,6 @@ export class WindowManager extends Singleton { this.bindEvents(); this.initMenu(); this.initTray(); - this.initMainWindow(); } get mainUrl() {