summarylogtreecommitdiffstats
path: root/compiz-screenlock-freedesktop.py
diff options
context:
space:
mode:
Diffstat (limited to 'compiz-screenlock-freedesktop.py')
-rwxr-xr-xcompiz-screenlock-freedesktop.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/compiz-screenlock-freedesktop.py b/compiz-screenlock-freedesktop.py
new file mode 100755
index 000000000000..c60e4f2d9191
--- /dev/null
+++ b/compiz-screenlock-freedesktop.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python
+# Provide DBus service to call compiz+xdotool
+# http://ubuntuforums.org/showthread.php?t=1865593&s=1c7f28c50a3f258e1d3404e41f098a0b&p=11418175#post11418175
+
+import dbus
+import dbus.service
+import dbus.glib
+from gi.repository 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)
+ dbus.service.Object.__init__(self,bus_name, '/org/freedesktop/ScreenSaver')
+
+ @dbus.service.method("org.freedesktop.ScreenSaver")
+ def Lock(self):
+ subprocess.Popen(['bash','/usr/bin/compiz-cube-screensaver'])
+
+if __name__ == '__main__':
+ object=ScreenDbusObj()
+ GObject.MainLoop().run()
+