From 41f6182dc2fd91f233e2ce9a53c0d82e07c06e80 Mon Sep 17 00:00:00 2001 From: Samuel Elliott Date: Thu, 2 Oct 2025 21:24:16 +0100 Subject: [PATCH] Use emulated open as hidden for macOS 13 https://github.com/samuelthomas2774/nxapi/issues/154 --- src/app/main/index.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/app/main/index.ts b/src/app/main/index.ts index 9701d7e..3c3bda5 100644 --- a/src/app/main/index.ts +++ b/src/app/main/index.ts @@ -51,10 +51,17 @@ enum LoginItemType { NOT_SUPPORTED, } const login_item_type: LoginItemType = - process.platform === 'darwin' ? LoginItemType.NATIVE : + process.platform === 'darwin' ? + // macOS 13+ does not support open as hidden + parseInt(process.getSystemVersion().split('.', 1)[0]) >= 13 ? + LoginItemType.NATIVE_PARTIAL : LoginItemType.NATIVE : process.platform === 'win32' ? LoginItemType.NATIVE_PARTIAL : LoginItemType.NOT_SUPPORTED; +const was_opened_at_login = process.platform === 'darwin' ? + app.getLoginItemSettings(login_item_options).wasOpenedAtLogin : + process.argv.includes('--app-open-at-login=1'); + debug('Protocol registration options', protocol_registration_options); debug('Login item registration options', LoginItemType[login_item_type], login_item_options); @@ -271,7 +278,7 @@ export async function init() { const should_hide = login_item_type === LoginItemType.NATIVE ? app.getLoginItemSettings(login_item_options).wasOpenedAsHidden : - process.argv.includes('--app-open-at-login=1') && (await appinstance.store.getLoginItem()).startup_hidden; + was_opened_at_login && (await appinstance.store.getLoginItem()).startup_hidden; if (!should_hide) { appinstance.showMainWindow(); @@ -458,7 +465,6 @@ export class Store extends EventEmitter { } const startup_options: SavedStartupOptions | undefined = await this.storage.getItem('StartupOptions'); - const was_opened_at_login = process.argv.includes('--app-open-at-login=1'); if (login_item_type === LoginItemType.NATIVE_PARTIAL) { // Partial native support