added dock icon visibility in preferences

This commit is contained in:
Serhiy Mytrovtsiy
2019-07-08 21:05:55 +02:00
parent fa9d4beebf
commit 5bf458f12a
2 changed files with 16 additions and 1 deletions

View File

@@ -70,6 +70,11 @@ class AppDelegate: NSObject, NSApplicationDelegate {
labelForChart << true
}
if defaults.object(forKey: "dockIcon") != nil {
let dockIconStatus = defaults.bool(forKey: "dockIcon") ? NSApplication.ActivationPolicy.regular : NSApplication.ActivationPolicy.accessory
NSApp.setActivationPolicy(dockIconStatus)
}
if isRunning {
DistributedNotificationCenter.default().post(name: .killLauncher, object: Bundle.main.bundleIdentifier!)
}

View File

@@ -70,11 +70,16 @@ class MenuBar {
chartLabels.target = self
preferencesMenu.addItem(chartLabels)
let runAtLogin = NSMenuItem(title: "Run at login", action: #selector(toggleMenu), keyEquivalent: "")
let runAtLogin = NSMenuItem(title: "Start at login", action: #selector(toggleMenu), keyEquivalent: "")
runAtLogin.state = defaults.bool(forKey: "runAtLogin") || defaults.object(forKey: "runAtLogin") == nil ? NSControl.StateValue.on : NSControl.StateValue.off
runAtLogin.target = self
preferencesMenu.addItem(runAtLogin)
let dockIcon = NSMenuItem(title: "Show icon in dock", action: #selector(toggleMenu), keyEquivalent: "")
dockIcon.state = defaults.bool(forKey: "dockIcon") ? NSControl.StateValue.on : NSControl.StateValue.off
dockIcon.target = self
preferencesMenu.addItem(dockIcon)
preferences.submenu = preferencesMenu
menu.addItem(preferences)
@@ -116,6 +121,11 @@ class MenuBar {
case "Run at login":
SMLoginItemSetEnabled(launcherId as CFString, !status)
self.defaults.set(status, forKey: "runAtLogin")
case "Show icon in dock":
self.defaults.set(status, forKey: "dockIcon")
let iconStatus = status ? NSApplication.ActivationPolicy.regular : NSApplication.ActivationPolicy.accessory
NSApp.setActivationPolicy(iconStatus)
return
case "Colors":
self.defaults.set(status, forKey: "colors")
colors << status