開発環境
開発
addon
thunderbird
アドオン

Thunderbird のアドオン開発(準備編)

Thunderbirdで今まで使ってたアドオンが使えなくなった!
もう更新もストップしてしまった!!

って時に、やっぱ自分で作れるようになった方が手っ取り早いよね、ってことで、調べることにしました。
まずは開発環境(というより動作確認環境です)の準備から。
ちなみに、執筆時点のThunderbirdのバージョンはV52.4.0です。

開発用プロファイルの作成

基本的にWindows10での操作をベースに説明します。

開発用プロファイルの作成は、ウインドウズキー+Rを押して「ファイル名を指定して実行」を開き、以下を入力します。

thunderbird -ProfileManager

そうすると、こんなのが開きます。
2017-10-29.png
すでに作成済みですが、「新しいプロファイルを作成(C)...」てやつをクリックして、作成します。
フォルダを指定する際、プロファイル名のフォルダは自動作成してくれないので注意してください。
また、「今後このプロファイルを使用する(S)」というところにチェックがあると、最後に使用したプロファイルで立ち上がるようです。

作成したら、起動してみましょう。
するとこんな感じになるはず。
2017-10-29 (1).png
※すでにアドオンが入っているので、画面右下にバージョン情報が表示されています。

これでプロファイルが複数になったため、通常の起動時には最後に使用したプロファイルで立ち上がるか、あるいはチェックを外していれば先ほどのプロファイルの選択ダイアログが表示されるようになります。
それは面倒なので、いつもので起動した後、開発用のプロファイルで立ち上がるように別途ショートカットを作成します。

開発用プロファイルのショートカットの作成

通常のThunderbirdのショートカットをコピーして好きなところに貼り付け、ショートカットのプロパティを開き、リンク先を編集します。
具体的には、以下のように引数を追加します。

"C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe" -no-remote -P Development

2017-10-29 (3).png

ショートカットをリネームすれば、より分かりやすいですね。

開発用アドオンの追加

本当はこちらを参考に、メニューバーから [ツール] -> [オプション] -> [詳細] -> [一般] -> [設定エディター(C)...] と移動して about:config を編集したかったのですが、なぜか項目がなかったのでアドオンで対応しました。

ちなみにabout:configはこれです。
2017-10-29 (4).png

メニューバーから [ツール] -> [アドオン] をクリックして、アドオンマネージャーを開きます。
2017-10-29 (5).png
拡張機能のところにすでに追加されていますが、いずれもそのままでは入らないため、ダウンロードしてきて強制的にインストールします。

インストールには、左側ペインの「アドオン入手」からちょっと下の右にある「すべてのアドオンを見る」からダウンロード可能です。
2017-10-29 (6).png

例えば「DevPref」を検索すると、こんな感じになります。
2017-10-29 (7).png

ですが、名前の部分をクリックすると、「強制ダウンロード」がありますのでダウンロードできます。
2017-10-29 (8).png

ダウンロード後は、アドオンマネージャの拡張機能のところにドラッグアンドドロップすればOKです。
DevPrefを入れる際はなんか文字が出ますが、読まずに閉じてしまったのでどういう事が書いてあったのか分かりません・・・

DefPref、DOM Inspector、Version in Add-on barのどれもこの方法でないとインストールできません。

終わりに

さて、これでとりあえず環境は作れたはずです。たぶん。
次はコーディングのやり方ですが、ここで絶賛ハマリ中でして、続かないかもしれません・・・
作ってる人がいるんだからできるはず! と思ってますが、あんまり英語が得意ではないのと、情報が古かったりして今と違ったりするのでどうしていいやら・・・

参考

この記事を執筆するにあたって、以下のサイトを参考にさせていただきました。ありがとうございます。(むしろ、ただの焼き直しっぽいかも・・・)

Mozilla Thunderbird アドオンの作り方 ~ 開発環境の準備 - Open MagicVox.net
http://www.magicvox.net/archive/2014/03161644/

正直このサイトを見ながら作れば作れるかも?(笑)
あくまで自分のログの意味合いも込めて執筆させていただきました。