2011/11/01

notify-sendでラーメンタイマーというかリマインダ(ubuntuおまけでcygwin+growl for windows)


ちょくちょくあるんですよ、n分後にアラートして欲しいとか、何かしらの処理が終了したら通知して欲しいとか。 そこでnotify-sendとmplayerでいい感じに通知してもらえたのでメモ。

例えば下記の場合、3分経ったら上の画像のようなアラートを表示して音楽を流してくれます。
$ sleep 3m && notify-send -i /your/icon/path/terminal.png 'noodle !!'  && mplayer /your/music/path/notify.ogg > /dev/null 2> /dev/null

長いコンパイル、デカいファイルのコピーなんかの時に仕込んでおくと便利そう。いい感じのaliasを設定しときたいですね。

cygwin

cygwinの場合は、growl for windowsがインストールされてい(てかつgrowlが常駐して)れば下記のようにできる。
$ sleep 3m ; /cygdrive/c/Program\ Files/Growl\ for\ Windows/growlnotify.exe /i: "c:\your\icon\path\notify.png" /t:"hoge" 'Ha!!' 


参考



追記

alertって名前でshellスクリプト書いてみた。sh -x ./alert でtrace情報っぽいのが出るんですね。
!/bin/sh
                                                                                                  
ICON="/your/icon/path/icon.png"
MUSIC="/your/music/path/music.png"
                                                                                                   
while getopts s:m: OPT
do
        case $OPT in
                "s" ) FLG_SLEEP="TRUE" ; VALUE_SLEEP="$OPTARG" ;;
                "m" ) FLG_MESSAGE="TRUE" ; VALUE_MESSAGE="$OPTARG" ;;
        esac
done 
                                                                                                   
if [ "$FLG_SLEEP" = "TRUE" ]; then
        sleep $VALUE_SLEEP
fi
if [ "$FLG_MESSAGE" = "TRUE" ]; then
        notify-send -i $ICON "$VALUE_MESSAGE"
fi
mplayer $MUSIC > /dev/null 2> /dev/null

以下のように実行すると、3秒後に音楽とともにgrowlっぽいものが表示される。
$ alert -s 3 -m 'Hello, world !!'


詳解 シェルスクリプト

0 件のコメント:

コメントを投稿