File: desktop_notification

package info (click to toggle)
txdbus 1.1.0-9
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 996 kB
  • sloc: python: 6,658; makefile: 7
file content (33 lines) | stat: -rwxr-xr-x 1,006 bytes parent folder | download | duplicates (3)
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()