1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
#!/usr/bin/env python
from twisted.internet import reactor, defer
from txdbus import error, client
@defer.inlineCallbacks
def show_desktop_notification( duration, message ):
'''
Shows the message as a desktop notification for the specified
number of seconds
'''
con = yield client.connect(reactor, 'session')
notifier = yield con.getRemoteObject('org.freedesktop.Notifications',
'/org/freedesktop/Notifications')
nid = yield notifier.callRemote('Notify',
'Example Application', 0,
'',
'Example Notification Summary',
message,
[], dict(),
duration * 1000)
def main():
d = show_desktop_notification( 5, "Hello World!" )
d.addCallback( lambda _: reactor.stop() )
reactor.callWhenRunning(main)
reactor.run()
|