gnome-now-playing/np.10s.sh

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 "---"