summarylogtreecommitdiffstats
path: root/xscreensaver-dbus-screenlock-freedesktop.py
diff options
context:
space:
mode:
Diffstat (limited to 'xscreensaver-dbus-screenlock-freedesktop.py')
-rw-r--r--xscreensaver-dbus-screenlock-freedesktop.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/xscreensaver-dbus-screenlock-freedesktop.py b/xscreensaver-dbus-screenlock-freedesktop.py
new file mode 100644
index 000000000000..126b35151dcf
--- /dev/null
+++ b/xscreensaver-dbus-screenlock-freedesktop.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python2
+# Replace gnome-screensaver or light-locker DBus service to call xscreensaver
+# http://ubuntuforums.org/showthread.php?t=1865593&s=1c7f28c50a3f258e1d3404e41f098a0b&p=11418175#post11418175
+
+import dbus
+import dbus.service
+import dbus.glib
+import gobject
+import subprocess
+
+class ScreenDbusObj(dbus.service.Object):
+ def __init__(self):
+ session_bus = dbus.SessionBus()
+ bus_name=dbus.service.BusName("org.freedesktop.ScreenSaver",bus=session_bus)
+ #bus_name=dbus.service.BusName("org.gnome.ScreenSaver",bus=session_bus)
+ dbus.service.Object.__init__(self,bus_name, '/org/freedesktop/ScreenSaver')
+ #dbus.service.Object.__init__(self,bus_name, '/org/gnome/ScreenSaver')
+
+
+ @dbus.service.method("org.freedesktop.ScreenSaver")
+ #@dbus.service.method("org.gnome.ScreenSaver")
+ def Lock(self):
+ subprocess.Popen(['xscreensaver-command', '-lock'])
+
+
+if __name__ == '__main__':
+ object=ScreenDbusObj()
+ gobject.MainLoop().run()