mozuko さんが書きました:
Thunderbirdでメールの振り分け設定をしたのちに、
フォルダの中に「スターマーク」をつけたメールがある場合には
フォルダの横に「このフォルダにはスターマークのついたメールがありますよ」といった
表示をさせたいのですが、拡張機能や設定などで可能でしょうか?
「既存の」拡張機能や設定、では不可能。なぜならば、そんな拡張機能は見たことが無いし、そんな設定はないから。
やるとすると、「自前」で、原理的には、新着メールに対して、メールに付ける「new icon」と、その時にフォルダーに付ける「new icon」と同様の方法。
(1) メールに対するイベントリスナーで、各メールの「スターマーク」がついた・はずされたをフックし、
フォルダーの属性の値に「スターマークあり・なし」や「スターマークつきメール数」を入れる。
(2) フォルダーに付ける「new icon」と同様に、CSSの擬似クラスで「スターマークあり・なし」が使えるようにし、CSSで必要なアイコンを表示、
あるいは、メールのイベントリスナーの中で必要なアイコンを表示、
あるいは、フォルダーの状態が変わった、というようなイベントをフォルダーに対して発生させ、そのイベントハンドラーでアイコンを変更。
ただし、おっしゃるような形にするには、フォルダーペインの各行の、カラムを一つ増やし、「スターマークなし」の時でも、スターマークが表示された時と同じ大きさの矩形領域を確保する必要がある。
この専用カラムにアイコンを表示ならば、そのアイコンのdisplay:inline/noneだけの制御でも可能。
これは、別にアドオンを作らなくても、Custom Buttonsというアドオンを入れ、自前のツールバーボタンを作り、そのボタンの初期化時に一回実行される「Initialization Code」で、カラムを追加するなどを行い、イベントリスナーなども登録するだけでOK。
その自前のツールバーボタンが、一種の、超ミニアドオン、として使えます。
アドオンでやっている、XULオーバーレイでデザインを変えることはしにくいですが、UIの部品はHTMLのFORMの部品みたいなもので、document.getElementByIdとか、document.createElementとか、Element.appendChildなども自由に使えますから、好きなようにできます。
CSSも、スタイルシートのCSSファイルを用意しておいて、は行いにくいですが、Element.setAttribute("background-color","#FF0000")などは自由にできます。
HTMLのFORMをJavaScriptで作ったり変えたりするのと、なんら変わりはありません。
あとは、自分の好きな便利な機能を、ボタンをクリックしたら実行される「Code」にかいておけばいい。
ただ、Thuderbirdだと、シンタックスエラーがあっても何も表示してくれないので、どこに文法エラーがあるのか皆目見等がつかず、泣く泣くFirefoxでテストすると、Thunderbirdで使っているIDの要素がないからすぐに「undefined」になって、ちゃんとしたテストにはならない。
この間、ファイル・オフライン作業・オフライン/オンラインを、ボタンクリック一発で行うボタンを作って遊んで見たときは、メニューのIDが、Firefoxでは"goOfflineMenuitem" なのに、Thunderbirdでは"goOfflineMenuItem" で、Firefoxでは動くのにスクリプトをThunderbirdに持って行くと動かなくて、IDが違うということに思い至るまで、思いっきり時間がかかってしまいました(^^;