diff options
Diffstat (limited to 'config/i3blocks')
| -rw-r--r-- | config/i3blocks/config | 5 | ||||
| -rwxr-xr-x | config/i3blocks/scripts/mpd | 54 | 
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 "♫"  | 
