Commit bf7cf1c0 authored by Philipp Hörist's avatar Philipp Hörist

Remove mpris2 plugin

Support for this has been added to Gajim 1.0.0
parent 70ff6717
0.3.3 - 26-12-2016
- Dont activate Plugin on missing dependencys
- Remove unused imports
\ No newline at end of file
from .mpris2_support import Mpris2Plugin
name: MPRIS2 support
short_name: mpris2_support
version: 0.3.4
description: MPRIS2 support. Allows to update status message according to the music you're listening via the MPRIS2 D-Bus API.
authors = Denis Fomin <>
homepage =
min_gajim_version: 0.16.11
# -*- coding: utf-8 -*-
import os
from gajim.plugins import GajimPlugin
from gajim.plugins.helpers import log_calls
from gajim.common import dbus_support
ERR_MSG = ''
if dbus_support.supported:
from gajim.music_track_listener import MusicTrackListener
ERR_MSG = 'D-Bus Python bindings are missing'
if == 'nt':
ERR_MSG = 'Plugin can\'t be run under Windows.'
class MusicTrackInfo(object):
__slots__ = ['title', 'album', 'artist', 'duration', 'track_number',
'paused', 'url', 'albumartist']
class Mpris2Plugin(GajimPlugin):
def init(self):
self.description = _('MPRIS2 support. Allows to update status message '
'according to the music you\'re listening via the MPRIS2 D-Bus API.')
self.config_dialog = None
self.available_text = ERR_MSG
self.activatable = False
self.artist = self.title = self.source = ''
self.listener = MusicTrackListener().get()
def activate(self):
self._last_playing_music = None
self.bus = dbus_support.session_bus.SessionBus()
"PropertiesChanged", "org.freedesktop.DBus.Properties")
def deactivate(self):
"PropertiesChanged", "org.freedesktop.DBus.Properties")
def properties_changed(self,*args,**kw):
if args[0] != 'org.mpris.MediaPlayer2.Player':
if 'PlaybackStatus' in args[1]:
if args[1]['PlaybackStatus'] in ['Paused', 'Stopped']:
self.title = self.artist = self.source = ''
self.listener.emit('music-track-changed', None)
if args[1]['PlaybackStatus'] == 'Playing':
if 'Metadata' not in args[1]:
data = args[1]['Metadata']
info = MusicTrackInfo()
info.title = data.get("xesam:title", '')
info.album = data.get("xesam:album", '')
info.artist = data.get("xesam:artist", [''])[0]
info.albumartist = data.get("xesam:albumArtist", [''])[0]
info.duration = int(data.get('mpris:length', 0))
info.track_number = int(data.get('xesam:trackNumber', 0))
info.url = data.get("xesam:url", '')
self._last_playing_music = info
self.listener.emit('music-track-changed', info)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment