Advertisement
Guest User

Untitled

a guest
Feb 24th, 2013
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.43 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. import dbus, gobject, sys, os
  4. from dbus.mainloop.glib import DBusGMainLoop
  5.  
  6. pow_prop_iface = None
  7. pow_iface = None
  8.  
  9. def handle_lidclose(*args):
  10.     closed = pow_prop_iface.Get('',
  11.                                 'LidIsClosed')
  12.     if closed:
  13.         print "lid is closed, disabling the touchscreen"
  14.         os.system('xinput set-int-prop 8 "Device Enabled" 8 0')
  15.         os.system('xinput set-int-prop 9 "Device Enabled" 8 0')
  16.     else:
  17.         print "lid is open, enabling the touchscreen"
  18.         os.system('xinput set-int-prop 8 "Device Enabled" 8 1')
  19.         os.system('xinput set-int-prop 9 "Device Enabled" 8 1')
  20.  
  21. def main():
  22.     global pow_prop_iface, pow_iface
  23.  
  24.     DBusGMainLoop(set_as_default=True)
  25.  
  26.     bus = dbus.SystemBus()
  27.  
  28.     power_proxy = bus.get_object('org.freedesktop.UPower',
  29.                                 '/org/freedesktop/UPower')
  30.  
  31.     pow_prop_iface = dbus.Interface(power_proxy,
  32.                                     'org.freedesktop.DBus.Properties')
  33.     pow_iface = dbus.Interface(power_proxy,
  34.                                'org.freedesktop.UPower')
  35.  
  36.     print "Registering a signal receiver for upower events..."
  37.  
  38.     bus.add_signal_receiver(handle_lidclose,
  39.                             dbus_interface="org.freedesktop.UPower",
  40.                             signal_name="Changed")
  41.  
  42.  
  43.     loop = gobject.MainLoop()
  44.     loop.run()
  45.  
  46. if __name__ == '__main__':
  47.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement