[Newm] New method for displaying currently playing media

This commit is contained in:
Lucien Cartier-Tilet 2022-11-23 17:55:35 +01:00
parent 1214534726
commit e5a2527f81
Signed by: phundrak
GPG Key ID: BD7789E705CB8DCA

View File

@ -279,6 +279,21 @@ def get_bluetooth_devices() -> str:
return f"{counter}" return f"{counter}"
def get_currently_playing():
bus = dbus.SessionBus()
service_name = "org.mpris.MediaPlayer2.playerctld"
service_props = "org.mpris.MediaPlayer2.Player"
proxy = bus.get_object(service_name, "/org/mpris/MediaPlayer2")
props = dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
metadata = props.Get(service_props, "Metadata")
status = str(props.Get(service_props, "PlaybackStatus"))
if status != "Playing":
return ""
artist = ", ".join(metadata.get("xesam:artist"))
title = metadata.get("xesam:title")
return f"{artist}{title}"
def display_docker() -> str: def display_docker() -> str:
containers = docker_client.containers.list(sparse=True) containers = docker_client.containers.list(sparse=True)
return f"{len(containers)}" return f"{len(containers)}"