Guest User

config files polybar spotify

a guest
May 14th, 2021
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. config
  2.  
  3. Modules.ini:
  4.  
  5. [module/spotify]
  6. type = custom/script
  7. exec = ~/.config/polybar/blocks/scripts/spotify.sh
  8. interval = 1
  9.  
  10. ;format = <label>
  11. format-foreground = ${color.foreground}
  12. format-background = ${color.background}
  13. format-prefix = " "
  14. format-prefix-foreground = #0F0
  15. label = %output:0:150%
  16.  
  17. format-prefix-padding = 1
  18. format-overline = ${color.background}
  19. format-underline = ${color.background}
  20. ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  21.  
  22. spotify.sh:
  23.  
  24. #!/usr/bin/env bash
  25.  
  26. main() {
  27. if ! pgrep -x spotify >/dev/null; then
  28. echo ""; exit
  29. fi
  30.  
  31. cmd="org.freedesktop.DBus.Properties.Get"
  32. domain="org.mpris.MediaPlayer2"
  33. path="/org/mpris/MediaPlayer2"
  34.  
  35. meta=$(dbus-send --print-reply --dest=${domain}.spotify \
  36. /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:${domain}.Player string:Metadata)
  37.  
  38. artist=$(echo "$meta" | sed -nr '/xesam:artist"/,+2s/^ +string "(.*)"$/\1/p' | tail -1 | sed 's/\&/\\&/g' | sed 's#\/#\\/#g')
  39. album=$(echo "$meta" | sed -nr '/xesam:album"/,+2s/^ +variant +string "(.*)"$/\1/p' | tail -1| sed 's/\&/\\&/g'| sed 's#\/#\\/#g')
  40. title=$(echo "$meta" | sed -nr '/xesam:title"/,+2s/^ +variant +string "(.*)"$/\1/p' | tail -1 | sed 's/\&/\\&/g'| sed 's#\/#\\/#g')
  41.  
  42. echo "${*:-%artist% - %title%}" | sed "s/%artist%/$artist/g;s/%title%/$title/g;s/%album%/$album/g"i | sed "s/\&/\&/g" | sed "s#\/#\/#g"
  43.  
  44. }
  45.  
  46. main "$@"
Advertisement
Add Comment
Please, Sign In to add comment