aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xi3blocks/i3music.sh30
1 files changed, 16 insertions, 14 deletions
diff --git a/i3blocks/i3music.sh b/i3blocks/i3music.sh
index 3aa764e..8dfd408 100755
--- a/i3blocks/i3music.sh
+++ b/i3blocks/i3music.sh
@@ -1,20 +1,22 @@
-#!/bin/bash
+#!/bin/sh
case $BLOCK_BUTTON in
- 1) cmus-remote -r ;;
- 2) cmus-remote -u ;;
- 3) cmus-remote -n ;;
+ 1) pgrep -x cmus && cmus-remote -r ;;
+ 2) pgrep -x cmus && cmus-remote -u ;;
+ 3) pgrep -x cmus && cmus-remote -n ;;
esac
-status=$(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=$(cmus-remote -Q | grep "file " | cut -d'/' -f5-)
-if [ $status = "playing" ]; then
- echo "$artist ─ $title"
-elif [ $status = "paused" ]; then
- echo "( $artist ─ $title )"
+symbol=🎵
+pgrep -x cmus >/dev/null || (echo "$symbol" && exit)
+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="$(cmus-remote -Q | grep "file " | cut -d'/' -f5-)"
+if [ "$stat" = "playing" ]; then
+ echo "$symbol $artist ─ $title"
+elif [ "$stat" = "paused" ]; then
+ echo "( $symbol $artist ─ $title )"
else
- echo "$status"
+ echo "$symbol $stat"
fi