From 9b5bbb99f968114d5a9957cea38ab2d04c739d21 Mon Sep 17 00:00:00 2001 From: Janne Savolainen Date: Wed, 27 Apr 2022 11:18:47 +0300 Subject: [PATCH] Reimplement setup for main window visibility using runnables instead of non-OCP in index.ts Co-authored-by: Mikko Aspiala Signed-off-by: Janne Savolainen --- .../ensure-visible-main-window.injectable.ts | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/main/start-main-application/on-application-activation/implementations/ensure-visible-main-window.injectable.ts diff --git a/src/main/start-main-application/on-application-activation/implementations/ensure-visible-main-window.injectable.ts b/src/main/start-main-application/on-application-activation/implementations/ensure-visible-main-window.injectable.ts new file mode 100644 index 0000000000..ad9e9fde21 --- /dev/null +++ b/src/main/start-main-application/on-application-activation/implementations/ensure-visible-main-window.injectable.ts @@ -0,0 +1,31 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { getInjectable } from "@ogre-tools/injectable"; +import loggerInjectable from "../../../../common/logger.injectable"; +import windowManagerInjectable from "../../../window-manager.injectable"; +import { onApplicationActivationInjectionToken } from "../on-application-activation-injection-token"; + +const ensureVisibleMainWindowInjectable = getInjectable({ + id: "ensure-visible-main-window", + + instantiate: (di) => { + const logger = di.inject(loggerInjectable); + const windowManager = di.inject(windowManagerInjectable); + + return { + run: ({ hasVisibleWindows }) => { + logger.info("APP:ACTIVATE", { hasVisibleWindows }); + + if (!hasVisibleWindows) { + windowManager.ensureMainWindow(false); + } + }, + }; + }, + + injectionToken: onApplicationActivationInjectionToken, +}); + +export default ensureVisibleMainWindowInjectable;