7 from dbus.mainloop.glib import DBusGMainLoop
8 from gi.repository import GObject
10 from onoff.common import ST_ACTIVE
12 def wait_for_signal(proxy, signal):
13 loop = GObject.MainLoop()
18 proxy.connect_to_signal(signal, callback)
23 DBusGMainLoop(set_as_default=True)
24 bus = dbus.SessionBus()
25 proxy = bus.get_object("de.subdivi.onoff0", "/de/subdivi/onoff0/redshift")
27 st, fd = proxy.activatefd(10)
32 print("state is %d waiting for signal" % st)
33 st = wait_for_signal(proxy, "changestate")
34 print("new state is %d" % st)
35 os.execvp(sys.argv[1], sys.argv[1:])
37 st = proxy.activatetime(10)
39 print("state is %d waiting for signal" % st)
40 st = wait_for_signal(proxy, "changestate")
41 print("new state is %d" % st)
43 if __name__ == "__main__":