Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- config
- Modules.ini:
- [module/spotify]
- type = custom/script
- exec = ~/.config/polybar/blocks/scripts/spotify.sh
- interval = 1
- ;format = <label>
- format-foreground = ${color.foreground}
- format-background = ${color.background}
- format-prefix = " "
- format-prefix-foreground = #0F0
- label = %output:0:150%
- format-prefix-padding = 1
- format-overline = ${color.background}
- format-underline = ${color.background}
- ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
- spotify.sh:
- #!/usr/bin/env bash
- main() {
- if ! pgrep -x spotify >/dev/null; then
- echo ""; exit
- fi
- cmd="org.freedesktop.DBus.Properties.Get"
- domain="org.mpris.MediaPlayer2"
- path="/org/mpris/MediaPlayer2"
- meta=$(dbus-send --print-reply --dest=${domain}.spotify \
- /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:${domain}.Player string:Metadata)
- artist=$(echo "$meta" | sed -nr '/xesam:artist"/,+2s/^ +string "(.*)"$/\1/p' | tail -1 | sed 's/\&/\\&/g' | sed 's#\/#\\/#g')
- album=$(echo "$meta" | sed -nr '/xesam:album"/,+2s/^ +variant +string "(.*)"$/\1/p' | tail -1| sed 's/\&/\\&/g'| sed 's#\/#\\/#g')
- title=$(echo "$meta" | sed -nr '/xesam:title"/,+2s/^ +variant +string "(.*)"$/\1/p' | tail -1 | sed 's/\&/\\&/g'| sed 's#\/#\\/#g')
- echo "${*:-%artist% - %title%}" | sed "s/%artist%/$artist/g;s/%title%/$title/g;s/%album%/$album/g"i | sed "s/\&/\&/g" | sed "s#\/#\/#g"
- }
- main "$@"
Advertisement
Add Comment
Please, Sign In to add comment