2012年4月4日水曜日

iterm2で処理が終了したとき、Growlに通知する方法

iTerm2のドキュメントにあるInteresting Linksに載っていた方法ですが、リンク先が無くなっていたので備忘録として書いておきます。

iTerm2でコンパイル等の時間が掛かる処理をしている場合、処理が終了したときにGrowl通知させたい、と言う事があると思います。このような場合、下記のコマンドを実行することによりiTerm2からGrowlに通知する事ができます。

$ echo $'\e]9;Growlへ通知するメッセージ\007'
$

メッセージは日本語もOKです。

$ sleep 10;echo $'\e]9;起きたよ〜\007'
$

上記のコマンドでは、10秒後にGrowlに対して「起きたよ〜」のメッセージを通知します。

growl通知

実行する度に、エスケープシーケンスを打ち込むのは面倒なので、.bashrcに関数を定義して登録しておくと便利です。

growl() { echo -e $'\e]9;'${1}'\007' ; return  ; }

試しに、mercurialをportからコンパイルしてみます。

$ sudo port install mercurial +bash_completion; growl "mercurial のインストールが終わったよ"

インストール終了後に、growlに通知されました。

インストール終了のgrowl通知

0 コメント:

コメントを投稿