mpcをdmenuから操作するスクリプト

mpcというコマンドラインから音楽を聴くためのシンプルなソフトウェアと
dmenuという超シンプルなアプリケーションランチャーの組合せ.
dmenuはシンプルゆえに柔軟で,発想しだいで何でも出来るのではと思わせるほどの潜在能力を秘めていると
個人的には思っている.(見た目は非常に地味であるが)

スクリプトのメモ.というか,バックアップを残しておく.

追記

grep -n を grep -x -n に変更
-x オプションは
force PATTERN to match only whole lines
です.

#!/bin/bash
# ~/bin/mpdmenu

# mpc command list
COMMAND="next
prev
stop
play
toggle
shuffle
random on
random off
repeat on
repeat off"
PLAYLIST=$(mpc playlist -f "[%title%]|[%file%]")

RUN=$((echo "$COMMAND"; echo "$PLAYLIST" )\
    | dmenu -i -fn '-*-terminus-*-*-*-*-*-200-*-*-*-*-*-*' -nb "#dddddd" -sb "#3366ff")

if [[ $RUN == "" ]]; then
	exit 0;
fi

NUM=$(echo "$PLAYLIST" | grep -x -n "$RUN" | cut -d ':' -f1)

if [[ $NUM != "" ]]; then
       # play music
	exec mpc --no-status play $NUM
else
       # execute mpc command
	exec mpc --no-status $RUN
fi

# shell script ってあんまり書いたことないなー.