43 lines
1.5 KiB
Bash
Executable File
43 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
MPRIS_ROOT='org.mpris.MediaPlayer2.*'
|
|
MPRIS_PATH='/org/mpris/MediaPlayer2'
|
|
DBUS_GET='org.freedesktop.DBus.Properties.Get'
|
|
MPRIS_PLAYER='org.mpris.MediaPlayer2.Player'
|
|
XESAM_ARTIST="xesam:albumArtist: "
|
|
XESAM_ARTIST2="xesam:artist: "
|
|
XESAM_TITLE="xesam:title: "
|
|
|
|
for player in $(qdbus $MPRIS_ROOT); do
|
|
state=$(qdbus "$player" $MPRIS_PATH $DBUS_GET $MPRIS_PLAYER PlaybackStatus)
|
|
if [ "$state" == "Playing" ]; then
|
|
metadata=$(qdbus "$player" $MPRIS_PATH $DBUS_GET $MPRIS_PLAYER Metadata)
|
|
artist=$(echo "$metadata" | grep "$XESAM_ARTIST")
|
|
artist=${artist#"$XESAM_ARTIST"}
|
|
artist2=$(echo "$metadata" | grep "$XESAM_ARTIST2")
|
|
artist2=${artist2#"$XESAM_ARTIST2"}
|
|
title=$(echo "$metadata" | grep "$XESAM_TITLE")
|
|
title=${title#"$XESAM_TITLE"}
|
|
|
|
title=$(echo "$title" | recode ascii..html)
|
|
artist=$(echo "$artist" | recode ascii..html)
|
|
artist2=$(echo "$artist2" | recode ascii..html)
|
|
|
|
if [ "$title" != "" ]; then
|
|
if [ "$artist" == "" ]; then
|
|
if [ "$artist2" == "" ]; then
|
|
echo "$title | iconName=multimedia-audio-player-symbolic"
|
|
else
|
|
echo "$artist2 - $title | iconName=multimedia-audio-player-symbolic"
|
|
fi
|
|
else
|
|
echo "$artist - $title | iconName=multimedia-audio-player-symbolic"
|
|
fi
|
|
echo "---"
|
|
exit
|
|
fi
|
|
fi
|
|
done
|
|
|
|
echo "---"
|