Advertisement
Guest User

Untitled

a guest
May 27th, 2013
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.00 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. import os
  4. import gobject
  5. import dbus
  6. from dbus.mainloop.glib import DBusGMainLoop
  7.  
  8. def sleep_signal_recieved(arg):
  9.   print("sleep signal recieved, arg: " + str(arg))
  10.   while True:
  11.     pass
  12. def shutdown_signal_recieved(arg):
  13.   print("shutdown signal recieved, arg: " + str(arg))
  14.   while True:
  15.     pass
  16.  
  17. def main():
  18.   DBusGMainLoop(set_as_default=True)
  19.   loop = gobject.MainLoop()
  20.  
  21.   bus = dbus.SystemBus()
  22.   obj = bus.get_object("org.freedesktop.login1",
  23.                                   "/org/freedesktop/login1")
  24.   interface = dbus.Interface(obj, "org.freedesktop.login1.Manager")
  25.  
  26.   fd = interface.Inhibit("shutdown:sleep:idle", "brendan", "because", "block")
  27.   #fd will be a "low-level file descriptor" i.e. an int. close it with os.close
  28.   fd = fd.take()
  29.  
  30.   interface.connect_to_signal("PrepareForSleep", sleep_signal_recieved)
  31.   interface.connect_to_signal("PrepareForShutdown", shutdown_signal_recieved)
  32.   loop.run()
  33.  
  34. if __name__ == "__main__":
  35.   main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement