rendered paste bodyimport rb
import gobject
import dbus
import dbus.glib
class SessionPresenceManagerPlugin(rb.Plugin):
def __init__(self):
rb.Plugin.__init__(self)
def activate(self, shell):
self.shell = shell
self.paused_by_us = False
session_bus = dbus.SessionBus()
session_bus.add_signal_receiver(self.on_status_changed_cb,
signal_name="StatusChanged",
dbus_interface="com.weej.SessionPresenceManager",
named_service=None,
path="/com/weej/SessionPresenceManager")
def deactivate(self, shell):
del self.shell
def on_status_changed_cb(self, status):
player = self.shell.get_player()
if (status == "here" and self.paused_by_us):
player.play()
self.paused_by_us = False
if (status == "not-here" and player.get_playing()):
self.shell.get_player().pause()
self.paused_by_us = True