| 1 | |
|---|
| 2 | |
|---|
| 3 | import time |
|---|
| 4 | import gobject, os |
|---|
| 5 | import dbus |
|---|
| 6 | if getattr(dbus, 'version', (0,0,0)) >= (0,41,0): |
|---|
| 7 | import dbus.glib |
|---|
| 8 | |
|---|
| 9 | OBJ_PATH = '/org/gajim/dbus/RemoteObject' |
|---|
| 10 | INTERFACE = 'org.gajim.dbus.RemoteInterface' |
|---|
| 11 | SERVICE = 'org.gajim.dbus' |
|---|
| 12 | INTERVAL = 0.14 |
|---|
| 13 | |
|---|
| 14 | def blink(details): |
|---|
| 15 | fd = open("/proc/acpi/ibm/light","r+") |
|---|
| 16 | status=fd.readline().split()[1] |
|---|
| 17 | if(status == "on"): |
|---|
| 18 | antistatus="off" |
|---|
| 19 | else: |
|---|
| 20 | antistatus="on" |
|---|
| 21 | fd.write(antistatus) |
|---|
| 22 | fd.flush() |
|---|
| 23 | time.sleep(INTERVAL) |
|---|
| 24 | fd.write(status) |
|---|
| 25 | fd.flush() |
|---|
| 26 | fd.close() |
|---|
| 27 | |
|---|
| 28 | |
|---|
| 29 | |
|---|
| 30 | bus = dbus.SessionBus() |
|---|
| 31 | proxy_obj = bus.get_object(SERVICE, OBJ_PATH) |
|---|
| 32 | dbus_iface = dbus.Interface(proxy_obj, INTERFACE) |
|---|
| 33 | |
|---|
| 34 | dbus_iface.connect_to_signal('NewMessage', blink) |
|---|
| 35 | |
|---|
| 36 | mainloop = gobject.MainLoop() |
|---|
| 37 | mainloop.run() |
|---|