aboutsummaryrefslogtreecommitdiff
path: root/i3blocks/i3music.sh
blob: c0767fdc8d0ff8b38cabf6ae8b1e4e78fef7bf2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh

case $BLOCK_BUTTON in
	1) pgrep -x cmus >/dev/null && cmus-remote -r ;;
	2) pgrep -x cmus >/dev/null && cmus-remote -u ;;
	3) pgrep -x cmus >/dev/null && cmus-remote -n ;;
esac

symbol=🎵
pgrep -x cmus >/dev/null || exit 0
stat="$(cmus-remote -Q | grep "^status" | awk '{print $2}')"
artist="$(cmus-remote -Q | grep "^tag artist" | cut -d' ' -f3-)"
title="$(cmus-remote -Q | grep "^tag title" | cut -d' ' -f3-)"
[ -z "$artist" ] && artist="(unknown)"
[ -z "$title" ] && title="$(basename "$(cmus-remote -Q | grep "^file" | cut -d' ' -f2- | sed 's/&/+/')")" # sed to fix & in title messing up script
if [ "$stat" = "playing" ]; then
	echo "$symbol $artist ─ $title"
elif [ "$stat" = "paused" ]; then
	echo "$symbol ( $artist ─ $title )"
else
	echo "$symbol $stat"
fi