#!/bin/bash HOST_HOME="192.168.0.51" 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 "$HOST_HOME" >/dev/null 2>&1; then # TODO check that mpd is running? HOST="-h $HOST_HOME" fi STATUS="$(mpc $HOST status)" # 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 if echo "$STATUS" | grep -qE "(playing|paused)"; then echo "♫ $(mpc $HOST volume | sed 's/volume: //')" fi exit 0 fi # Handle user input case "$BLOCK_BUTTON" in 1) mpc $HOST toggle >/dev/null ;; 2) mpc $HOST stop >/dev/null ;; 3) nohup urxvt -title "Music player daemon client" -e ncmpcpp $HOST 2>&1 >/dev/null & ;; 4) mpc $HOST prev >/dev/null ;; 5) mpc $HOST next >/dev/null ;; esac if echo "$STATUS" | grep -qE "(playing|paused)"; then echo `mpc $HOST -f "♫ %artist%, %album%, %title%" status | head -1` echo if echo "$STATUS" | grep -q playing; then echo "#00ff00" elif echo "$STATUS" | grep -q paused; then echo "#ffff00" fi else echo "♫" fi