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 ;
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 ってあんまり書いたことないなー.

More Reading
Older// Problem 260