10 class ScreenDbusObj(dbus.service.Object):
12 # stuff the logging into a temporary and hidden directory.
14 os.chdir(os.environ['HOME'] + "/.zz_temp_screenlock_menu")
15 print (os.environ['HOME'] + "/.zz_temp_screenlock_menu" + " was already there")
18 print (os.environ['HOME'] + "/.zz_temp_screenlock_menu" + " is not there yet")
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")
24 print ("about to create a dbus")
26 session_bus = dbus.SessionBus()
27 print ("about to setup a bus name")
29 bus_name=dbus.service.BusName("org.gnome.ScreenSaver",bus=session_bus)
30 print ("about to init dbus service")
32 dbus.service.Object.__init__(self,bus_name, '/org/gnome/ScreenSaver')
33 print ("after init dbus service")
36 @dbus.service.method("org.gnome.ScreenSaver")
38 print ("saw the command to lock the screen, about to lock")
40 os.system( "xscreensaver-command -lock" )
41 print ("issued xscreensaver request to lock the screen")
44 if __name__ == '__main__':
45 print ("into main of screeny")
47 object=ScreenDbusObj()
48 print ("after creating the screen dbus object, about to go into loop")
50 gobject.MainLoop().run()
51 print ("after loop, exiting from app")