| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | 
							- #!/bin/dash
 - 
 - getpos() {
 -     #
 -     # Get track position
 -     #
 -     local h
 -     local m
 -     local s
 -     s=$(qdbus org.mpris.clementine /Player org.freedesktop.MediaPlayer.PositionGet)
 -     s=$((s/1000))
 -     h=$((s/3600))
 -     s=$((s%3600))
 -     m=$((s/60))
 -     s=$((s%60))
 -     case $h in
 -         0)  printf      '%d:%02d' $m $s ;;
 -         *)  printf '%d:%02d:%02d' $h $m $s ;;
 -     esac
 - }
 - 
 - mktext() {
 -     #
 -     # Compose info text from DBus
 -     #
 -     local artist
 -     local year
 -     local album
 -     local tracknumber
 -     local title
 -     local sigil
 -     local sigilcolor
 -     local value
 -     local key
 -     local color_attr
 -     qdbus org.mpris.clementine /Player org.freedesktop.MediaPlayer.GetMetadata >"$CACHE"
 -     case $(qdbus org.mpris.clementine /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlaybackStatus) in
 -         Stopped)    sigil=""; sigilcolor= ;;
 -         Playing)    sigil=""; sigilcolor=green ;;
 -         Paused)     sigil=""; sigilcolor=gray;;
 -         *)          sigil=""; sigilcolor=red ;;
 -     esac
 -     test -n "$sigilcolor" && color_attr=" color='$sigilcolor'"
 -     while read -r line; do
 -         key=${line%%:*}
 -         value=${line#$key: }
 -         case $key in
 -             artist)       artist=$value ;;
 -             year)         year=$value ;;
 -             album)        album=$value ;;
 -             tracknumber)  tracknumber=$value ;;
 -             title)        title=$value ;;
 -         esac
 -     done <"$CACHE"
 -     printf "%s [%d %s]: %02d %s (%s) <span%s>%s</span>" \
 -         "$artist" "$year" "$album" "$tracknumber" "$title" \
 -         "$(getpos)" \
 -         "$color_attr" "$sigil"
 - }
 - 
 - CACHE=$(mktemp -t cstatus.GetMetadata.XXXXXXXX)
 - 
 - main() {
 -     local head=true
 -     echo '{"version":1}'
 -     echo "["
 -     while true; do
 -         $head || echo -n ","
 -         head=false
 -         echo -n '[{'
 -         echo -n '"markup":"pango",'
 -         echo -n '"full_text":"'"$(mktext)"'"'
 -         echo -n '}]'
 -         echo
 -         sleep 1
 -     done
 - }
 - 
 - main
 
 
  |