Mozilla Thunderbird 拡張機能

拡張機能は Mozilla Thunderbird の機能性を広げるすばらしい方法です。利用可能な Thunderbird の拡張機能は次の場所で見つけることができます:

多くの貢献者たちが MozillaZine に投稿したり、あるいは私に直接メールをくれて次のように言っています。「私は Thunderbird が好きだが、乗り換える前にどうしても *任意の機能をここに挿入* ができるようにしてほしい。」拡張機能はみなさんがこうした機能を追加する優れた方法であり、これによりそれぞれのユーザにとって Thunderbird がよりよいものになります。拡張機能のすばらしいところのひとつは、小さな機能用の overlay を書くためであれば Thunderbird 全体がどのようにデザインされているかについてのエキスパートである必要がないということです。Thunderbird の拡張機能を書くということは、このプロジェクトに対する貢献とコードベース入門のすばらしい方法です!

このドキュメントは2部に分かれています:

  • 拡張機能のアイディア
  • Thunderbird 拡張機能の書き方(例を含む)

拡張機能のアイディア

拡張機能を書きたくてアイディアを探しているのなら、フォーラムやメール経由で私に送られてきたアイディアがいくつかあります。これらは Mozilla Thunderbird にとってすばらしい拡張機能になると思われます。もしこれらのアイディアに誰かが取りかかっているようであれば、このページをなるべく速く更新するようにします。

  • Mozilla Mail のようにメール3ペインツールバーに「すべてのメッセージを取得」する機能を追加する拡張機能。この拡張機能はすでに作業中です。
  • Mozilla Palm Synch support(同期化サポート)を追加する拡張機能。今ある Mozilla Mail 用の palm 同期化拡張機能をビルドするくらい、そして xpi の中にバンドルするくらいシンプルにするべきです。
  • メール3ペインに quick reply box(クイック返信ボックス) を追加する拡張機能。これがどのようなものかと言う私のコメントはこちらを見てください。
  • PGP/MIME サポートの拡張機能。(別名 Thunderbird 用 Enigmail
  • Mozilla Mail のような View / Messages / Simple / Plain / HTML メニューの追加。これの復活はできる限りシンプルにすべきです。このメニューアイテムの実装には Mozilla Mail で使われている XUL と JS を見てください。
  • Yahoo メール、もしくは hotmail サポートを追加する拡張機能。これはよくリクエストされる機能です。この機能をどのように実装すべきかについて話し合うスレッドを始めましたので、Adding Yahoo Mail support を見てください。
  • ウインドウズ用にシステムトレイに最小化する拡張機能(これは拡張機能では不可能かも)。
  • auto quote colors(自動引用の色)の設定を可能にする拡張機能。
  • デフォルトで SMIMM サポートをオフにしてこれを実装する拡張機能。
  • デフォルトで LDAP サポートをオフにしこれを実装する拡張機能。
  • コンポーズウインドウの一部を変更する拡張機能。これは送信するメールの優先順位をメニュー項目を深くたどる代わりに直接このウインドウから設定できるようにするためのものです(簡単なものであること)。
  • さまざまなインスタントメッセージクライアントを統合する拡張機能。
  • Thunderbird に about:config 機能を追加する拡張機能。これはツールのメニュー項目に追加し about:config を設定するウインドウを表示するようにしたほうがいいでしょう。これによって prefs.js を手動で編集することなく環境を設定することができるようになります。
  • 署名として vCard を追加する拡張機能。
  • 迷惑メールフィルタを鍛える時間を短くするための、あらかじめ設定した学習フィルタを追加する拡張機能(おそらくライト、ミディアム、そしてヘビーな training.dat ファイル)。
  • ROT13 サポートを追加する拡張機能。
  • POP と IMAP のための kerberos 認証サポートの追加。これによって kerberos 認証を使用しているカレッジの人たちが Mozilla Thunderbird を使えるようになります。
  • 学習した迷惑メールフィルタを表示し、そしてさらに、修正する拡張機能はどうでしょう(training.dat ファイルを読み込んで表示する必要があります)。
  • 送信するメッセージにランダムな署名を加える拡張機能。(これを行う Mozilla 用の拡張機能がすでにあるようですが、おそらく Thunderbird 用に微修正する必要があるでしょう (TagZilla

さらに他のアイディアに関しては MozillaZine のスレッドを見てください:Ideas for Thunderbird Extensions

拡張機能の書き方

まずはじめに Mozilla 拡張機能の作り方 を読んでください。次に、拡張機能の書き方のモデルとして役に立つ オフライン拡張機能 を見てください。ここでは Mozilla チュートリアルでの詳細については繰り返しません。また、始める前に外部 XUL overlay 作業に精通している必要があります。たいていの拡張機能は Thunderbird の chrome に入り込むために新しい overlay を作成する必要があります。オフライン拡張機能でいくつか示しておきます:

  1. xul overlay を使用して拡張機能を書く。chrome の url は自分自身のネームスペースを持たなくてはなりません(例えば、chrome://messenger/content/msgOfflineOverlay.xul ではなくchrome://messenger-offline/content/msgOfflineOverlay.xul)。
  2. locale と content ディレクトリは、overlay と 新しい locale パッケージのインストールを指示するための contents.rdf ファイルをそれぞれ必要とします。offline.jar にあるバージョンを参考にしてください。
  3. 多くの拡張機能ではそれを設定するためのダイアログが必要になるでしょう。content/contents.rdf 内に "settingsURL" フィールドを記入することによってその拡張機能用にこれを行うことができます。その拡張機能パネルから設定ダイアログを選択すると、Thunderbird はその settingURL 用の chrome を読み込もうとします。オフライン拡張機能はこの方法でユーザが設定できるようにしています。既存の preference 階層に overlay することを考える前に設定ダイアログを先に考えてください。そのほうがたいていの場合作業をより上手く進めることが出来ます。
  4. なるべく早いうちに拡張機能をアンインストールするコードの書き方についての情報をいくつか書き足します。
  5. 新しい overlays/chrome/images/locale 情報を含む JAR ファイルを作成(例えば offline.jar)
  6. install.js と jar ファイルを .xpi 拡張子を持った新しい zip ファイルにする。
  7. ここまでは Thunderbird の優れた拡張機能をビルドするのに時間を費やしてきました。ではユーザのために オフライン拡張機能ユーザ ガイド のようなインストラクションを書き上げましょう。その拡張機能の使い方をより簡単に理解できるようにスクリーンショットなどを挿入するといいでしょう。content/contents.rdf の authorURL フィールドに記入して間違いなくあなたのページを指すようにしてください!
  8. これで終わりです!ヘルプサイトに発表してください。