Deprecated: Function set_magic_quotes_runtime() is deprecated in /var/www/dojoe.net/htdocs/textpattern/lib/txplib_db.php on line 14
I was looking around for a solution to pause Rhythmbox whenever I lock my screen, and to continue playing when I return. Looking around the intarwebs, I found a blog post with a basic Python script.
I changed some aspects of that script to suit my needs, namely:
So without further ado, here’s my version of it:
#!/usr/bin/python
import dbus
import dbus.glib
import gobject
paused = False
def screensaver_changed(state):
global paused
if session_bus.name_has_owner('org.gnome.Rhythmbox'):
proxy = session_bus.get_object('org.gnome.Rhythmbox', '/org/gnome/Rhythmbox/Player')
player = dbus.Interface(proxy, 'org.gnome.Rhythmbox.Player')
if state and player.getPlaying():
paused = True
player.playPause(True)
elif not state and paused and not player.getPlaying():
paused = False
player.playPause(True)
session_bus = dbus.SessionBus()
session_bus.add_signal_receiver(screensaver_changed,'ActiveChanged','org.gnome.ScreenSaver')
loop = gobject.MainLoop()
loop.run()