はじめに
growl-for-linuxに地味ながらAppIndicator対応がマージされました。0.7.5としてリリースされています。
pull requestを送ったのは先月の話ですが、せっかくだから記事を書いておきます。
なぜAppIndicator対応か
このAppIndicator対応が何者かというのはとても地味な話ではありますが、スクリーンショットを見ればあぁ、コレね、とすぐにわかると思います。要は通知エリアのお話です。
(http://unity.ubuntu.com/projects/appindicators/より)
なんだかずーっと前からあるじゃん、という話になりそうなんだけれども、これにはちょっとした事情があります。
Ubuntu 13.04ではUnity Notification Area (Systray) Whitelistが廃止されました。 これによってWhitelistを設定すれば動作していたアプリケーションは少なくとも通知エリアに関しては動作しなくなります。 (これまではWhitelistを設定するとGtkStatusIconを使っていてもいい感じに表示してくれていたので、いわば執行猶予中みたいなものでした。)
主要なアプリケーションは対応済みなので意外と気づかなかったかもしれませんが、growl-for-linuxはこの制限にひっかかってしまった、というわけです。
というわけで、GtkStatusIconを使っていたものをAppIndicatorに置き換える必要がでてきました。 ステータスアイコンから設定メニューを出しているので、そもそも表示されないと何もできないことになり、致命的なのです。
実際のAppIndicatorへの対応
こんな感じのことをやりました。
https://github.com/mattn/growl-for-linux/commit/a7dfa30158e3a315185f84b8fdf1959a24664c13
実際に表示している様子はこんな感じになります。
オンオフを切り替えるメニューもつけています。