diff options
| author | David Lönnhager <david.l@mullvad.net> | 2023-01-30 12:17:28 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2023-02-01 17:38:39 +0100 |
| commit | 820bcbf9bd3db7cae550af08fb384ff30696f0f8 (patch) | |
| tree | 85d23dc2157f87ddbe28a8c2fca18e74d03d7829 /gui/src/main/user-interface.ts | |
| parent | 669f92d79a97b4de52c250189b916298a4b2570f (diff) | |
| download | mullvadvpn-820bcbf9bd3db7cae550af08fb384ff30696f0f8.tar.xz mullvadvpn-820bcbf9bd3db7cae550af08fb384ff30696f0f8.zip | |
Add 'Go to System Settings' button to launch view
Diffstat (limited to 'gui/src/main/user-interface.ts')
| -rw-r--r-- | gui/src/main/user-interface.ts | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gui/src/main/user-interface.ts b/gui/src/main/user-interface.ts index 88922f3f75..78af002c58 100644 --- a/gui/src/main/user-interface.ts +++ b/gui/src/main/user-interface.ts @@ -1,6 +1,8 @@ +import { exec } from 'child_process'; import { app, BrowserWindow, dialog, Menu, nativeImage, screen, Tray } from 'electron'; import path from 'path'; import { sprintf } from 'sprintf-js'; +import { promisify } from 'util'; import { closeToExpiry, hasExpired } from '../shared/account-expiry'; import { connectEnabled, disconnectEnabled, reconnectEnabled } from '../shared/connect-helper'; @@ -20,6 +22,8 @@ import { isMacOs11OrNewer } from './platform-version'; import TrayIconController, { TrayIconType } from './tray-icon-controller'; import WindowController, { WindowControllerDelegate } from './window-controller'; +const execAsync = promisify(exec); + export interface UserInterfaceDelegate { cancelPendingNotifications(): void; resetTunnelStateAnnouncements(): void; @@ -69,6 +73,16 @@ export default class UserInterface implements WindowControllerDelegate { this.browsingFiles = false; return response; }); + + IpcMainEventChannel.app.handleShowLaunchDaemonSettings(async () => { + try { + await execAsync( + 'open -W x-apple.systempreferences:com.apple.LoginItems-Settings.extension', + ); + } catch (error) { + log.error(`Failed to open launch daemon settings: ${error}`); + } + }); } public createTrayIconController( |
