sleep.py

changeset 68
72f821e17123
child 69
8705e296c7a0
equal deleted inserted replaced
67:75e514746980 68:72f821e17123
1 #
2 # Wake/sleep detection for scheduling adjustments
3 #
4
5 import Foundation
6 import AppKit
7 import borgend
8
9 logger=borgend.logger.getChild(__name__)
10
11 class SleepHandler(Foundation.NSObject):
12 """ Handle wake/sleep notifications """
13
14 def handleSleepNotification(self, aNotification):
15 logger.info("System going to sleep")
16
17 def handleWakeNotification(self, aNotification):
18 logger.info("System waking up from sleep")
19
20 if platform.system()=='Darwin':
21 workspace = AppKit.NSWorkspace.sharedWorkspace()
22 notification_center = workspace.notificationCenter()
23 sleep_handler = SleepHandler.new()
24
25 notification_center.addObserver_selector_name_object_(
26 sleep_handler,
27 "handleSleepNotification",
28 AppKit.NSWorkspaceWillSleepNotification,
29 None)
30
31 notification_center.addObserver_selector_name_object_(
32 sleep_handler,
33 "handleWakeNotification",
34 AppKit.NSWorkspaceDidWakeNotification,
35 None)
36

mercurial