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
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/env python

import pygtk
pygtk.require('2.0')
import gtk
import pynotify
import sys

def help_cb(n, action):
    assert action == "help"
    print "You clicked Help"
    n.close()
    gtk.main_quit()

def ignore_cb(n, action):
    assert action == "ignore"
    print "You clicked Ignore"
    n.close()
    gtk.main_quit()

def empty_cb(n, action):
    assert action == "empty"
    print "You clicked Empty Trash"
    n.close()
    gtk.main_quit()

if __name__ == '__main__':
    if not pynotify.init("Multi Action Test"):
        sys.exit(1)

    n = pynotify.Notification("Low disk space",
                              "You can free up some disk space by " +
                              "emptying the trash can.")
    n.set_urgency(pynotify.URGENCY_CRITICAL)
    n.set_category("device")
    n.add_action("help", "Help", help_cb)
    n.add_action("ignore", "Ignore", ignore_cb)
    n.add_action("empty", "Empty Trash", empty_cb)

    if not n.show():
        print "Failed to send notification"
        sys.exit(1)

    gtk.main()