#!/usr/bin/env bash # regex allows waybar to display ampersand track=$(playerctl metadata --format "{{artist}} - {{title}}"| sed -e "s/&/&/") if [ "$(playerctl metadata --format "{{artist}}")" == "" ] ; then text="" class="noPlayers" tooltip="" #echo '{"text"': \"$text\",' "tooltip"': \"$tooltip\", '"class"': \"$class\"'}' echo "don't be so wide about it." exit 0 fi flash_if_track_changed () { if (( $(< /tmp/moe.avalanche.music-iteration) > "$1" )) ; then echo 0 > /tmp/moe.avalanche.music-iteration echo $track > /tmp/moe.avalanche.music-current-track return fi if [ "$(< /tmp/moe.avalanche.music-current-track)" == "$track" ] ; then return else if [[ $(( $(< /tmp/moe.avalanche.music-iteration) % 2 )) -eq 0 ]] ; then # if even text="${track,,}" else text=">> ${track,,}" fi echo $(($(< /tmp/moe.avalanche.music-iteration)+1)) > /tmp/moe.avalanche.music-iteration fi class="track-changed" tooltip="=> playing on the album: $(playerctl metadata --format {{album}})\nclick to pause" echo '{"text"': \"$text\",' "tooltip"': \"$tooltip\", '"class"': \"$class\"'}' exit 0 } flash_if_paused () { if [ $(playerctl status) == "Paused" ] ; then if [ $(cat /tmp/moe.avalanche.music-disp) == "1" ] ; then text="|| ${track,,}" echo "0" > /tmp/moe.avalanche.music-disp elif [ $(cat /tmp/moe.avalanche.music-disp) == "0" ] ; then text="${track,,}" echo "1" > /tmp/moe.avalanche.music-disp else echo "paused: ${track,,}" echo "0" > /tmp/moe.avalanche.music-disp fi class="pauseda" tooltip="playback paused\n click to play" echo '{"text"': \"$text\",' "tooltip"': \"$tooltip\", '"class"': \"$class\"'}' exit 0 fi } # # CONFIG (comment out undesired features) # #flash_if_paused #flash_if_track_changed 5 # arg is number of flashes # # END OF CONFIG # status="$(playerctl status)" text=">> ${track,,}" class="default" tooltip="=> playing on the album: $(playerctl metadata --format {{album}})\nclick to pause" echo -e "${status,,} | ${track,,}" #echo '{"text"': \"$text\",' "tooltip"': \"$tooltip\", '"class"': \"$class\"'}'