ThrottledDevice: speed up quick reactivation
[~helmut/onoff.git] / dbus_service.py
1 #!/usr/bin/env python
2 """
3 A dbus service example currently providing a device called redshift, that runs
4 redshift whenever it is not activated. This could be useful to temporarily
5 disable redshift e.g. while watching a movie.
6 """
7
8 import logging
9
10 import dbus
11 import dbus.service
12 from dbus.mainloop.glib import DBusGMainLoop
13 from gi.repository import GObject
14
15 import onoff.common
16 import onoff.dbusutils
17 import onoff.process
18
19 def main():
20     logging.basicConfig()
21     logging.getLogger().setLevel(logging.DEBUG)
22     DBusGMainLoop(set_as_default=True)
23     bus = dbus.SessionBus()
24     dev = onoff.process.OnoffProcess(["redshift"], 3)
25     dev = onoff.common.InvertedDevice(dev)
26     dev = onoff.common.ThrottledDevice(dev, 1, 5)
27     onoff.dbusutils.OnoffControl(bus, "redshift", dev)
28     GObject.MainLoop().run()
29
30 if __name__ == "__main__":
31     main()