Skip to content

Commit

Permalink
fix: avoid having multiple login items
Browse files Browse the repository at this point in the history
  • Loading branch information
lwouis committed Apr 2, 2020
1 parent bc3f612 commit 65816a2
Showing 1 changed file with 6 additions and 7 deletions.
13 changes: 6 additions & 7 deletions src/ui/preferences-window/tabs/GeneralTab.swift
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,16 @@ class GeneralTab {

// adding/removing login item depending on the checkbox state
@available(OSX, deprecated: 10.11)
@objc static func startAtLoginCallback(_ sender: NSControl) {
@objc private static func startAtLoginCallback(_ sender: NSControl) {
let loginItems = LSSharedFileListCreate(nil, kLSSharedFileListSessionLoginItems.takeRetainedValue(), nil).takeRetainedValue()
let loginItemsSnapshot = LSSharedFileListCopySnapshot(loginItems, nil).takeRetainedValue() as! [LSSharedFileListItem]
loginItemsSnapshot.forEach {
if LSSharedFileListItemCopyResolvedURL($0, 0, nil).takeRetainedValue() == App.url {
LSSharedFileListItemRemove(loginItems, $0)
}
}
if (sender as! NSButton).state == .on {
LSSharedFileListInsertItemURL(loginItems, kLSSharedFileListItemBeforeFirst.takeRetainedValue(), nil, nil, App.url, nil, nil)
} else {
loginItemsSnapshot.forEach {
if LSSharedFileListItemCopyResolvedURL($0, 0, nil).takeRetainedValue() == App.url {
LSSharedFileListItemRemove(loginItems, $0)
}
}
}
}
}

0 comments on commit 65816a2

Please sign in to comment.