cleaning a bit, including moving out some old docs, and renaming
[feisty_meow.git] / infobase / configuration / xscreensaver / screenlock_dbus.py
1 #!/usr/bin/python
2
3 import dbus
4 import dbus.service
5 import dbus.glib
6 import gobject
7 import os
8 import sys
9
10 class ScreenDbusObj(dbus.service.Object):
11     def __init__(self):
12         # stuff the logging into a temporary and hidden directory.
13         try:
14             os.chdir(os.environ['HOME'] + "/.zz_temp_screenlock_menu")
15             print (os.environ['HOME'] + "/.zz_temp_screenlock_menu" + " was already there")
16             sys.stdout.flush()
17         except:
18             print (os.environ['HOME'] + "/.zz_temp_screenlock_menu" + " is not there yet")
19             sys.stdout.flush()
20             os.mkdir(os.environ['HOME'] + "/.zz_temp_screenlock_menu")
21             os.chdir(os.environ['HOME'] + "/.zz_temp_screenlock_menu")
22             print (os.environ['HOME'] + "/.zz_temp_screenlock_menu" + " is there now")
23             sys.stdout.flush()
24         print ("about to create a dbus")
25         sys.stdout.flush()
26         session_bus = dbus.SessionBus()
27         print ("about to setup a bus name")
28         sys.stdout.flush()
29         bus_name=dbus.service.BusName("org.gnome.ScreenSaver",bus=session_bus)
30         print ("about to init dbus service")
31         sys.stdout.flush()
32         dbus.service.Object.__init__(self,bus_name, '/org/gnome/ScreenSaver')
33         print ("after init dbus service")
34         sys.stdout.flush()
35
36     @dbus.service.method("org.gnome.ScreenSaver")
37     def Lock(self):
38         print ("saw the command to lock the screen, about to lock")
39         sys.stdout.flush()
40         os.system( "xscreensaver-command -lock" )
41         print ("issued xscreensaver request to lock the screen")
42         sys.stdout.flush()
43
44 if __name__ == '__main__':
45     print ("into main of screeny")
46     sys.stdout.flush()
47     object=ScreenDbusObj()
48     print ("after creating the screen dbus object, about to go into loop")
49     sys.stdout.flush()
50     gobject.MainLoop().run()
51     print ("after loop, exiting from app")
52     sys.stdout.flush()
53