Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import os
- import gobject
- import dbus
- from dbus.mainloop.glib import DBusGMainLoop
- def sleep_signal_recieved(arg):
- print("sleep signal recieved, arg: " + str(arg))
- while True:
- pass
- def shutdown_signal_recieved(arg):
- print("shutdown signal recieved, arg: " + str(arg))
- while True:
- pass
- def main():
- DBusGMainLoop(set_as_default=True)
- loop = gobject.MainLoop()
- bus = dbus.SystemBus()
- obj = bus.get_object("org.freedesktop.login1",
- "/org/freedesktop/login1")
- interface = dbus.Interface(obj, "org.freedesktop.login1.Manager")
- fd = interface.Inhibit("shutdown:sleep:idle", "brendan", "because", "block")
- #fd will be a "low-level file descriptor" i.e. an int. close it with os.close
- fd = fd.take()
- interface.connect_to_signal("PrepareForSleep", sleep_signal_recieved)
- interface.connect_to_signal("PrepareForShutdown", shutdown_signal_recieved)
- loop.run()
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement