11import AppKit
2- import ServiceManagement
32
43@MainActor
54class StatusBarController : NSObject {
65 private var statusItem : NSStatusItem ?
76 private var menu : NSMenu ?
8- private var startAtLoginItem : NSMenuItem ?
97 var onReloadConfig : ( ( ) -> Void ) ?
108
119 static let shared = StatusBarController ( )
@@ -39,16 +37,6 @@ class StatusBarController: NSObject {
3937
4038 menu? . addItem ( NSMenuItem . separator ( ) )
4139
42- // Start at Login toggle
43- let loginItem = NSMenuItem ( title: " Start at Login " , action: #selector( toggleStartAtLogin) , keyEquivalent: " " )
44- loginItem. target = self
45- loginItem. isEnabled = true
46- loginItem. state = isStartAtLoginEnabled ( ) ? . on : . off
47- startAtLoginItem = loginItem
48- menu? . addItem ( loginItem)
49-
50- menu? . addItem ( NSMenuItem . separator ( ) )
51-
5240 let editConfigItem = NSMenuItem ( title: " Edit Config... " , action: #selector( editConfig) , keyEquivalent: " , " )
5341 editConfigItem. target = self
5442 editConfigItem. isEnabled = true
@@ -73,29 +61,6 @@ class StatusBarController: NSObject {
7361 statusItem? . menu = menu
7462 }
7563
76- private func isStartAtLoginEnabled( ) -> Bool {
77- if #available( macOS 13 . 0 , * ) {
78- return SMAppService . mainApp. status == . enabled
79- }
80- return false
81- }
82-
83- @objc func toggleStartAtLogin( ) {
84- if #available( macOS 13 . 0 , * ) {
85- do {
86- if SMAppService . mainApp. status == . enabled {
87- try SMAppService . mainApp. unregister ( )
88- startAtLoginItem? . state = . off
89- } else {
90- try SMAppService . mainApp. register ( )
91- startAtLoginItem? . state = . on
92- }
93- } catch {
94- print ( " Failed to toggle login item: \( error) " )
95- }
96- }
97- }
98-
9964 @objc func editConfig( ) {
10065 let configPath = NSString ( string: " ~/.config/ntfy-macos/config.yml " ) . expandingTildeInPath
10166 NSWorkspace . shared. open ( URL ( fileURLWithPath: configPath) )
0 commit comments