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 exit 0
11fi
12
13return_stuff() { # text tooltip class
14echo hi
15}
16
17flash_if_track_changed () {
18 if (( $(< /tmp/moe.avalanche.music-iteration) > "$1" )) ; then
19 echo 0 > /tmp/moe.avalanche.music-iteration
20 echo $track > /tmp/moe.avalanche.music-current-track
21 return
22 fi
23
24 if [ "$(< /tmp/moe.avalanche.music-current-track)" == "$track" ] ; then
25 return
26 else
27 if [[ $(( $(< /tmp/moe.avalanche.music-iteration) % 2 )) -eq 0 ]] ; then # if even
28 text=" ${track,,}"
29 else
30 text=">> ${track,,}"
31 fi
32 echo $(($(< /tmp/moe.avalanche.music-iteration)+1)) > /tmp/moe.avalanche.music-iteration
33 fi
34
35 class="track-changed"
36 tooltip="== $(playerctl metadata --format {{album}}) ==\n>> changing track..."
37 echo '{"text"': \"$text\",' "tooltip"': \"$tooltip\", '"class"': \"$class\"'}'
38 exit 0
39
40}
41
42flash_if_paused () {
43if [ $(playerctl status) == "Paused" ] ; then
44 if [ $(< /tmp/moe.avalanche.music-disp) == "1" ] ; then
45 text="|| ${track,,}"
46 echo "0" > /tmp/moe.avalanche.music-disp
47 elif [ $(< /tmp/moe.avalanche.music-disp) == "0" ] ; then
48 text="${track,,}"
49 echo "1" > /tmp/moe.avalanche.music-disp
50 else
51 echo "paused: ${track,,}"
52 echo "0" > /tmp/moe.avalanche.music-disp
53 fi
54 class="pausedd"
55 tooltip="== $(playerctl metadata --format {{album}}) ==\n=> paused, click to play"
56 echo '{"text"': \"$text\",' "tooltip"': \"$tooltip\", '"class"': \"$class\"'}'
57 exit 0
58fi
59}
60
61#
62# CONFIG (comment out undesired features)
63#
64
65flash_if_paused
66flash_if_track_changed 5 # arg is number of flashes
67
68#
69# END OF CONFIG
70#
71
72text=">> ${track,,}"
73class="default"
74tooltip="== $(playerctl metadata --format {{album}}) ==\n=> playing, click to pause"
75echo '{"text"': \"$text\",' "tooltip"': \"$tooltip\", '"class"': \"$class\"'}'