Fri, 26 Jan 2018 00:11:47 +0000
Added basic sleep/wake detection code for MacOS
(Still need to make use of it to adjust timers.)
# # Wake/sleep detection for scheduling adjustments # import Foundation import AppKit import borgend logger=borgend.logger.getChild(__name__) class SleepHandler(Foundation.NSObject): """ Handle wake/sleep notifications """ def handleSleepNotification(self, aNotification): logger.info("System going to sleep") def handleWakeNotification(self, aNotification): logger.info("System waking up from sleep") if platform.system()=='Darwin': workspace = AppKit.NSWorkspace.sharedWorkspace() notification_center = workspace.notificationCenter() sleep_handler = SleepHandler.new() notification_center.addObserver_selector_name_object_( sleep_handler, "handleSleepNotification", AppKit.NSWorkspaceWillSleepNotification, None) notification_center.addObserver_selector_name_object_( sleep_handler, "handleWakeNotification", AppKit.NSWorkspaceDidWakeNotification, None)