MacのThunderbirdの通知先を通知センターにする

MacのThunderbirdの通知先を通知センターにするプラグインを検索して見当たらなかったのですが、Growl New Message Notificationというプラグインのgrowl通知をわずかにいじるだけで通知が通知センターにくるようにできました。Thunderbirdのデスクトップ通知と比べるとその通知をクリックしてもそのメールは開かれないという欠点はあるのですが(修正可能な気がするのですがとりあえず放置)、通知センターに統合されるメリットがあります。別プラグインとして公開できる体裁を整えるには変更しなければならない部分が多そうでめんどくさかったので、最低限書き換える方法を書いておきます。

Growl New Message Notification0.4.2現在の情報です。バージョン違いで細部や行数が異なる場合は空気を読んでください。

terminal-notifierを使うのでこちらをインストールします。

$ sudo gem install terminal-notifier

さて、Growl New Message Notificationをダウンロードします。まだインストールはしません。
これを解凍します。

$ unzip growl_new_message_notification-0.4.2-tb-mac.xpi

中のファイルの、 chrome/content/growlcommand.js を編集します。

5行目にある、実行ファイル名を指定しているところを書き換えます。

exec.initWithPath("/usr/bin/terminal-notifier");

rbenvを使用している場合などは場所が違うかもしれません。which terminal-notifierとかして調べてください。

18行目にある、引数指定(argsへの配列の代入)を書き換えます。まあterminal-notifierのオプションなのでお好みでいじってください。

var args = ["-message", message, "-sender", "org.mozilla.thunderbird", "-title", title, "-open", "open -a Thunderbird"];

最後に、プラグインのUUIDや名前が同じなのは紛らわしいので、これを入れた後にもとのGrowlプラグインを入れることはないと思いますが、この二つぐらいは変えておきましょう(手順としてではなくプラグインとして公開するならもっとちゃんと色々いじったほうがよいでしょう)。install.rdfを書き換えます。

$ uuidgen

してUUIDを得て、{}で囲んだものをidのところに書きます。以下は一例。

<em:id>{7B6A61CB-E618-4E5F-A030-2C289ECB0454}</em:id>
<em:name>Growl New Message Notification (Notification Center Version)</em:name>

最後にパッケージ化

$ zip -r growl.xpi chrome defaults install.rdf skin

あとはできたzipをThunderbirdからアドオンマネージャを開いてドラッグアンドドロップしてインストール、Thunderbirdを再起動、Thunderbirdの環境設定からデスクトップ通知を無効にしてどこかからメールを送って通知がくれば成功です。

ですが、thunderbird-binコマンドの-mailオプションで適切なURLを投げればそのメールを開いてくれるそうなので、これについてちゃんと調べてプラグインを修正すればクリックしてそのメールを開くこともできそうですね。