| 1 | #!/usr/bin/python |
|---|
| 2 | |
|---|
| 3 | import gobject, os |
|---|
| 4 | import dbus |
|---|
| 5 | if getattr(dbus, 'version', (0,0,0)) >= (0,41,0): |
|---|
| 6 | import dbus.glib |
|---|
| 7 | |
|---|
| 8 | OBJ_PATH = '/org/gajim/dbus/RemoteObject' |
|---|
| 9 | INTERFACE = 'org.gajim.dbus.RemoteInterface' |
|---|
| 10 | SERVICE = 'org.gajim.dbus' |
|---|
| 11 | |
|---|
| 12 | def do_something(details): |
|---|
| 13 | print '%s has %s new emails' %(details[1][0], details[1][1]) |
|---|
| 14 | # and do whatever else you want to do |
|---|
| 15 | os.system("getmail") # like fetch mail |
|---|
| 16 | |
|---|
| 17 | bus = dbus.SessionBus() |
|---|
| 18 | proxy_obj = bus.get_object(SERVICE, OBJ_PATH) |
|---|
| 19 | dbus_iface = dbus.Interface(proxy_obj, INTERFACE) |
|---|
| 20 | |
|---|
| 21 | dbus_iface.connect_to_signal('NewGmail', do_something) |
|---|
| 22 | |
|---|
| 23 | mainloop = gobject.MainLoop() |
|---|
| 24 | mainloop.run() |
|---|
| 25 | |
|---|
| 26 | |
|---|
| 27 | |
|---|
| 28 | |
|---|
| 29 | |
|---|