growl for linuxを使ってみた

Ubuntu環境で作業をすることが増えました。
通知をポップアップで出したいときはどうするのかと調べてみるとnotify-sendコマンドを使うととてもお手軽なようです。

ただ、notify-sendで表示を継続する時間の指定が効いていないようにみえます。
このへんが関係ありそうです。
https://bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/390508


代替を探してみるとgrowl for linuxというのがありました。
http://mattn.kaoriya.net/software/growl4linux.htm

時間指定はおよそ5秒固定でしたが、見た目のスタイルを選択できたり、
連続した通知が重ならずに表示される点はnotify-sendより良さげです。
ちなみに、見た目のスタイルはfog(これがデフォルト),balloon,nico2などを選択できます。
(以下の参考画像はgithubへのリンクです。)

fog
https://github.com/mattn/growl-for-linux/raw/master/data/display_default.png

balloon
https://github.com/mattn/growl-for-linux/raw/master/data/display_balloon.png

nico2
https://github.com/mattn/growl-for-linux/raw/master/data/display_nico2.png

ちなみに、growl for linuxでの見た目の変更は~/.config/gol/config.dbを書き換えることで行います。
configテーブルのdefault_displayを適当な値に変更すれば良いです。

-[3305]% sqlite3 ~/.config/gol/config.db
SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select * from config;
version|0.6.7
default_display|fog
default_timeout|3000
sqlite> update config set value="balloon" where key="default_display";

表示時間の秒数が固定になっている件については、パッチを書いてみました。
通知ごとに表示時間を指定できる、というのではなくてデフォルトの表示時間をカスタマイズできるようにするものです。
https://github.com/mattn/growl-for-linux/pull/23


追記:
開発者の方からのコメントにあるように以下のようにしてwhitelistに設定してやると通知バーから設定画面を表示させることができました。
気づいてなかった。

gsettings set com.canonical.Unity.Panel systray-whitelist "$(gsettings get com.canonical.Unity.Panel systray-whitelist | sed -e "s/]$/, 'growl-for-linux']/")"