Skip to content

Instantly share code, notes, and snippets.

@randomekek
Created November 23, 2011 05:28
Show Gist options
  • Save randomekek/1387945 to your computer and use it in GitHub Desktop.
Save randomekek/1387945 to your computer and use it in GitHub Desktop.

Revisions

  1. randomekek revised this gist Nov 23, 2011. 1 changed file with 1 addition and 2 deletions.
    3 changes: 1 addition & 2 deletions screensaver.py
    Original file line number Diff line number Diff line change
    @@ -36,8 +36,7 @@ def screensaverStatusChanged(self, active):
    banshee.Play()

    def log(self, msg):
    with open('/home/david/main/usage', 'a+') as f:
    f.write(msg)
    pass

    if __name__ == "__main__":
    Main()
  2. randomekek revised this gist Nov 23, 2011. 1 changed file with 2 additions and 3 deletions.
    5 changes: 2 additions & 3 deletions screensaver.py
    Original file line number Diff line number Diff line change
    @@ -8,16 +8,15 @@ class Main():
    def __init__(self):
    dbus_loop = glib.DBusGMainLoop(set_as_default=True)
    bus = dbus.SessionBus(mainloop = dbus_loop)
    loop = gobject.MainLoop()
    screensaver = bus.get_object('org.gnome.ScreenSaver', '/org/gnome/ScreenSaver')
    screensaver.connect_to_signal('ActiveChanged', self.screensaverStatusChanged)

    self.bus = bus
    self.audioPlaying = False
    self.lastEvent = datetime.datetime.today()

    self.log('%s boot\n' % time.asctime())
    loop.run()

    gobject.MainLoop().run()

    def screensaverStatusChanged(self, active):
    now = datetime.datetime.today()
  3. randomekek created this gist Nov 23, 2011.
    44 changes: 44 additions & 0 deletions screensaver.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,44 @@
    import dbus
    import time
    import gobject
    import datetime
    import dbus.mainloop.glib as glib

    class Main():
    def __init__(self):
    dbus_loop = glib.DBusGMainLoop(set_as_default=True)
    bus = dbus.SessionBus(mainloop = dbus_loop)
    loop = gobject.MainLoop()
    screensaver = bus.get_object('org.gnome.ScreenSaver', '/org/gnome/ScreenSaver')
    screensaver.connect_to_signal('ActiveChanged', self.screensaverStatusChanged)

    self.bus = bus
    self.audioPlaying = False
    self.lastEvent = datetime.datetime.today()

    self.log('%s boot\n' % time.asctime())
    loop.run()

    def screensaverStatusChanged(self, active):
    now = datetime.datetime.today()
    delta = now - self.lastEvent
    self.lastEvent = now

    # log events
    self.log('%s %s %s\n' % (time.asctime(), 'lock ' if active else 'unlock', delta))

    # turn off/on music
    banshee = self.bus.get_object("org.bansheeproject.Banshee", "/org/bansheeproject/Banshee/PlayerEngine")
    if active:
    self.audioPlaying = banshee.GetCurrentState() == 'playing'
    banshee.Pause()
    else:
    if self.audioPlaying:
    banshee.Play()

    def log(self, msg):
    with open('/home/david/main/usage', 'a+') as f:
    f.write(msg)

    if __name__ == "__main__":
    Main()