stuff for various systems of mine
1#!/usr/bin/env bash
2# regex allows waybar to display ampersand
3track=$(playerctl metadata --format "{{artist}} - {{title}}"| sed -e "s/&/&/")
4
5if [ "$(playerctl metadata --format "{{artist}}")" == "" ] ; then
6 text=""
7 class="noPlayers"
8 tooltip=""
9 #echo '{"text"': \"$text\",' "tooltip"': \"$tooltip\", '"class"': \"$class\"'}'
10 echo "don't be so wide about it."
11 exit 0
12fi
13
14flash_if_track_changed () {
15 if (( $(< /tmp/moe.avalanche.music-iteration) > "$1" )) ; then
16 echo 0 > /tmp/moe.avalanche.music-iteration
17 echo $track > /tmp/moe.avalanche.music-current-track
18 return
19 fi
20
21 if [ "$(< /tmp/moe.avalanche.music-current-track)" == "$track" ] ; then
22 return
23 else
24 if [[ $(( $(< /tmp/moe.avalanche.music-iteration) % 2 )) -eq 0 ]] ; then # if even
25 text="${track,,}"
26 else
27 text=">> ${track,,}"
28 fi
29 echo $(($(< /tmp/moe.avalanche.music-iteration)+1)) > /tmp/moe.avalanche.music-iteration
30 fi
31
32 class="track-changed"
33 tooltip="=> playing on the album: $(playerctl metadata --format {{album}})\nclick to pause"
34 echo '{"text"': \"$text\",' "tooltip"': \"$tooltip\", '"class"': \"$class\"'}'
35 exit 0
36
37}
38
39flash_if_paused () {
40if [ $(playerctl status) == "Paused" ] ; then
41 if [ $(cat /tmp/moe.avalanche.music-disp) == "1" ] ; then
42 text="|| ${track,,}"
43 echo "0" > /tmp/moe.avalanche.music-disp
44 elif [ $(cat /tmp/moe.avalanche.music-disp) == "0" ] ; then
45 text="${track,,}"
46 echo "1" > /tmp/moe.avalanche.music-disp
47 else
48 echo "paused: ${track,,}"
49 echo "0" > /tmp/moe.avalanche.music-disp
50 fi
51 class="pauseda"
52 tooltip="playback paused\n click to play"
53 echo '{"text"': \"$text\",' "tooltip"': \"$tooltip\", '"class"': \"$class\"'}'
54 exit 0
55fi
56}
57
58#
59# CONFIG (comment out undesired features)
60#
61
62#flash_if_paused
63#flash_if_track_changed 5 # arg is number of flashes
64
65#
66# END OF CONFIG
67#
68status="$(playerctl status)"
69text=">> ${track,,}"
70class="default"
71tooltip="=> playing on the album: $(playerctl metadata --format {{album}})\nclick to pause"
72echo -e "${status,,} | ${track,,}"
73#echo '{"text"': \"$text\",' "tooltip"': \"$tooltip\", '"class"': \"$class\"'}'