diff --git a/Mac/AppDelegate.swift b/Mac/AppDelegate.swift index 73519e152..4e8120779 100644 --- a/Mac/AppDelegate.swift +++ b/Mac/AppDelegate.swift @@ -71,6 +71,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations, NotificationCenter.default.addObserver(self, selector: #selector(unreadCountDidChange(_:)), name: .UnreadCountDidChange, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(inspectableObjectsDidChange(_:)), name: .InspectableObjectsDidChange, object: nil) + NSWorkspace.shared.notificationCenter.addObserver(self, selector: #selector(didWakeNotification(_:)), name: NSWorkspace.didWakeNotification, object: nil) appDelegate = self } @@ -223,10 +224,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations, } func applicationDidBecomeActive(_ notification: Notification) { - // It’s possible there’s a refresh timer set to go off in the past. - // In that case, refresh now and update the timer. - refreshTimer?.fireOldTimer() - syncTimer?.fireOldTimer() + fireOldTimers() } func applicationDidResignActive(_ notification: Notification) { @@ -282,6 +280,10 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations, refreshTimer?.update() updateDockBadge() } + + @objc func didWakeNotification(_ note: Notification) { + fireOldTimers() + } // MARK: Main Window @@ -564,6 +566,13 @@ extension AppDelegate { private extension AppDelegate { + func fireOldTimers() { + // It’s possible there’s a refresh timer set to go off in the past. + // In that case, refresh now and update the timer. + refreshTimer?.fireOldTimer() + syncTimer?.fireOldTimer() + } + func createReaderWindow() -> MainWindowController { return windowControllerWithName("MainWindow") as! MainWindowController