aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/i3blocks/config5
-rwxr-xr-xconfig/i3blocks/scripts/mpd54
2 files changed, 49 insertions, 10 deletions
diff --git a/config/i3blocks/config b/config/i3blocks/config
index 8ae24c8..1a62f50 100644
--- a/config/i3blocks/config
+++ b/config/i3blocks/config
@@ -33,6 +33,11 @@ command=~/.config/i3blocks/scripts/mpd
interval=5
signal=12
+[mpd-remote]
+command=~/.config/i3blocks/scripts/mpd
+interval=5
+instance=remote
+
[keymap]
command=~/.config/i3/scripts/keyboard_layout
interval=once
diff --git a/config/i3blocks/scripts/mpd b/config/i3blocks/scripts/mpd
index 637623e..113f6e8 100755
--- a/config/i3blocks/scripts/mpd
+++ b/config/i3blocks/scripts/mpd
@@ -1,30 +1,64 @@
#!/bin/bash
+HOME="192.168.0.217"
+HOST=""
+# Let's be sneaky and verify that we are on relevant network before we try to ping
+if ip a | grep -q 'inet 192.168.0.' && \
+ ping -c 1 -w 1 "$HOME" >/dev/null 2>&1; then
+ # TODO check that mpd is running?
+ HOST="-h $HOME"
+fi
+
+# Handle remote volume
+if [ "$BLOCK_INSTANCE" = "remote" ]; then
+ [ -n "$HOST" ] || exit 0
+ case "$BLOCK_BUTTON" in
+ 1)
+ mpc $HOST volume 40 >/dev/null
+ ;;
+ 3)
+ mpc $HOST volume 0 >/dev/null
+ ;;
+ 4)
+ mpc $HOST volume +2 >/dev/null
+ ;;
+ 5)
+ mpc $HOST volume -2 >/dev/null
+ ;;
+ esac
+
+ echo "♫ $(mpc $HOST volume | sed 's/volume: //')"
+ exit 0
+fi
+
+# Handle user input
case "$BLOCK_BUTTON" in
1)
- mpc toggle >/dev/null
+ mpc $HOST toggle >/dev/null
;;
2)
- mpc stop >/dev/null
+ mpc $HOST stop >/dev/null
;;
3)
- nohup urxvt -title "Music player daemon client" -e ncmpcpp 2>&1 >/dev/null &
+ # TODO this doesn't work with host
+ nohup urxvt -title "Music player daemon client" -hold -e ncmpcpp 2>&1 >/dev/null &
;;
4)
- mpc prev >/dev/null
+ mpc $HOST prev >/dev/null
;;
5)
- mpc next >/dev/null
+ mpc $HOST next >/dev/null
;;
esac
-if [ -n "`mpc status | grep -E "(playing|paused)"`" ]; then
- echo `mpc -f "♫ %artist%, %album%, %title%" status | head -1`
+STATUS="$(mpc $HOST status)"
+if echo "$STATUS" | grep -qE "(playing|paused)"; then
+ echo `mpc $HOST -f "♫ %artist%, %album%, %title%" status | head -1`
echo
- if [ -n `mpc status | grep playing` ]; then
- echo "#ffff00"
- elif [ -n `mpc status | grep paused` ]; then
+ if echo "$STATUS" | grep -q playing; then
echo "#00ff00"
+ elif echo "$STATUS" | grep -q paused; then
+ echo "#ffff00"
fi
else
echo "♫"