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;