aboutsummaryrefslogtreecommitdiff
path: root/.local/bin/statusbar/sb-music
blob: f144762ee5961d028982d63289579492375219af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/sh

AWK_FILTER='
NR==1 {
    if ($0 ~ /volume:/) { print ""; exit }
    artist_track = $0
    next
}
NR>1 {
    if ($0 ~ /\[paused\]/) status_icon = " "
    if ($0 ~ /\[playing\]/) status_icon = ""
    if ($0 ~ /consume: on/) modes = modes " "
    if ($0 ~ /random: on/)  modes = modes " "
    if ($0 ~ /repeat: on/)  modes = modes " "
    if ($0 ~ /single: on/)  modes = modes "1 "
}
END {
    sub(/[[:space:]]+$/, "", modes)
    if (artist_track) {
        if (modes) print status_icon artist_track " | " modes
        else print status_icon artist_track
    } else print ""
}
'

pidof -x sb-mpdup >/dev/null 2>&1 || sb-mpdup >/dev/null 2>&1 &

case $BLOCK_BUTTON in
  1) mpc status | awk "$AWK_FILTER" ; setsid -f "$TERMINAL" -e rmpc >/dev/null 2>&1 < /dev/null;;
  2) mpc toggle | awk "$AWK_FILTER" ;;
  3) mpc status | awk "$AWK_FILTER" ; notify-send " Music module" "\
- Shows mpd song playing.
-  paused.
-  consume mode.
-  shuffle mode.
-  repeat mode.
- 1 single mode.
- Left click opens rmpc.
- Middle click pauses.
- Scroll changes track.";;
  4) mpc prev | awk "$AWK_FILTER" ;;
  5) mpc next | awk "$AWK_FILTER" ;;
  8) mpc status | awk "$AWK_FILTER" ; setsid -f "$TERMINAL" -e "$EDITOR" "$0" >/dev/null 2>&1 < /dev/null ;;
  *) mpc status | awk "$AWK_FILTER" ;;
esac