XBLによるテーマの拡張

要約

XULには、XBL Bindingという、タグの拡張手法が存在します

これは、新たに使えるタグを増やすという役割もありますが、Firefoxのテーマ側もcssからの呼び出しによりこの恩恵を受けることが出来ます。

これを利用することにより、テーマの側でも拡張の様に追加のボタン等を追加したり、JavaScriptのプログラムを埋め込んだりすることが出来ます。

正直な話、このトピックはテーマ作成の中でも、比較的高度なトピックです。その代わり理解できれば、cssのカスタマイズだけでもかなりの変更が出来るテーマを、本当に自由自在に拡張出来てしまいます。

基礎

まずXBLファイルを作成します。現在使われているタグから変更したい箇所を特定して、そこにあわせたXBLファイルを作成します

css側からは-moz-bindingプロパティを使う事で


	-moz-bindings:url("位置") !important;

経験的には、必ず使えるようにするために!importantを付けておく事をお勧めします。

ここからが面白いのが、XBLファイルの中にはJavaScriptを含めることが出来る。つまりはテーマの中にプログラムを含めることが出来ます。

ここまで出来ると、ほとんどFirefoxの拡張と一緒、というよりそもそもFirefox内部ではテーマと拡張の扱いの違いはあまりありません。ただ、テーマを変更するとその機能が失われるだけです。

正直、ここまで何でも出来ると、いろいろとアイデアも浮かんできますが、実際にはユーザビリティのバランスを取りながらやって行って下さい

それだけではなく、xulでは、htmlやSVG等の他のXML要素の埋め込みが出来るという特徴があるため、その装飾能力の高さは特筆に価します

実践

今回はウィンドウ下のステータスバーにボタンを追加して、そこに簡単なプログラムを埋め込みます


クリエイティブ・コモンズ・ライセンス

このworkは、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。