first run checkbox value

This commit is contained in:
Serhiy Mytrovtsiy
2019-06-10 11:11:27 +02:00
parent 8b472ff92c
commit 2ce8d92cb6
2 changed files with 9 additions and 3 deletions

View File

@@ -34,7 +34,13 @@ class AppDelegate: NSObject, NSApplicationDelegate {
let runningApps = NSWorkspace.shared.runningApplications let runningApps = NSWorkspace.shared.runningApplications
let isRunning = !runningApps.filter { $0.bundleIdentifier == launcherAppId }.isEmpty let isRunning = !runningApps.filter { $0.bundleIdentifier == launcherAppId }.isEmpty
SMLoginItemSetEnabled(launcherAppId as CFString, true) if defaults.object(forKey: "runAtLogin") != nil {
SMLoginItemSetEnabled(launcherAppId as CFString, defaults.bool(forKey: "runAtLogin"))
} else {
SMLoginItemSetEnabled(launcherAppId as CFString, true)
self.defaults.set(true, forKey: "runAtLogin")
}
if isRunning { if isRunning {
DistributedNotificationCenter.default().post(name: .killLauncher, object: Bundle.main.bundleIdentifier!) DistributedNotificationCenter.default().post(name: .killLauncher, object: Bundle.main.bundleIdentifier!)
} }

View File

@@ -51,12 +51,12 @@ class MenuBar {
let preferencesMenu = NSMenu() let preferencesMenu = NSMenu()
let colorStatus = NSMenuItem(title: "Colors", action: #selector(toggleMenu), keyEquivalent: "") let colorStatus = NSMenuItem(title: "Colors", action: #selector(toggleMenu), keyEquivalent: "")
colorStatus.state = defaults.object(forKey: "colors") != nil && !defaults.bool(forKey: "colors") ? NSControl.StateValue.off : NSControl.StateValue.on colorStatus.state = defaults.bool(forKey: "colors") ? NSControl.StateValue.on : NSControl.StateValue.off
colorStatus.target = self colorStatus.target = self
preferencesMenu.addItem(colorStatus) preferencesMenu.addItem(colorStatus)
let runAtLogin = NSMenuItem(title: "Run at login", action: #selector(toggleMenu), keyEquivalent: "") let runAtLogin = NSMenuItem(title: "Run at login", action: #selector(toggleMenu), keyEquivalent: "")
runAtLogin.state = defaults.object(forKey: "runAtLogin") != nil && !defaults.bool(forKey: "runAtLogin") ? NSControl.StateValue.off : NSControl.StateValue.on runAtLogin.state = defaults.bool(forKey: "runAtLogin") || defaults.object(forKey: "runAtLogin") == nil ? NSControl.StateValue.on : NSControl.StateValue.off
runAtLogin.target = self runAtLogin.target = self
preferencesMenu.addItem(runAtLogin) preferencesMenu.addItem(runAtLogin)