直らない悪い癖ですが、自分で使っていて Brunch が 意外に便利なので、これが Thunderbird でも 使えればなお便利、 ついでに SeaMonkey でも使えるようにしてしまおうと 思っていて、誰にせかされるわけではないので、この機会に Brunch の ドキュメントというか、Mozilla プロダクトの開発メモを ここ に残していこうと思う次第。
# 次のメジャーバージョンで拡張機能の作りが変わるという話は置いといて。。。
まずは install.rdf に記述する UUID の話。
Firefox に 代表される Mozilla プロダクト群 (こういう呼称がよいかどうかは不明)の拡張機能は .xpi と言う拡張子を持つファイルで配布されますが、 これは規定のフォルダ構造を持つファイルの集まりを ZIP で圧縮したもの。
# 個人的に最後の圧縮作業は Explzh を 利用させてもらってます。
この .xpi ファイルの中には install.rdf というファイルがあって、 ここに拡張機能のインストールに必要な情報がまとめて記載されています。
その記載の中に、この拡張機能がどのアプリケーションをターゲットにしているか (つまりどのアプリケーション向けの拡張機能か)を記載している部分があります。 そこには Firefox とかいう文字列がもろに記載されているのではなく、UUID というアプリケーションを 示す識別子で記載します。 たとえば Brunch ならこんな感じになっています
<?xml version="1.0"?> <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <Description about="urn:mozilla:install-manifest"> <em:id>brunch@ellinikonblue.com</em:id> <em:type>2</em:type> <em:name>Brunch</em:name> <em:version>0.12</em:version> <em:description>Browser Luncher Extention.</em:description> <em:creator>Kazuhiro KAWANISHI@ellinikonblue.com</em:creator> <em:developer>Kazuhiro KAWANISHI</em:developer> <em:homepageURL>http://www.ellinikonblue.net/devlosxom/</em:homepageURL> <em:optionsURL>chrome://brunch/content/brunchOption.xul</em:optionsURL> <em:targetApplication> <Description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minVersion>2.0</em:minVersion> <em:maxVersion>3.6.*</em:maxVersion> </Description> </em:targetApplication> </Description> </RDF>タグ em:targetApplication の中にあるタグ Description が この拡張機能が Firefox 向けで 対象バージョンが 2.0 ~ 3.6.x までという意味の記載になります。
ひとまず Thunderbird ( 2.0 ~ 3.0 )の場合は、
<em:targetApplication> <Description> <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> <em:minVersion>2.0.0</em:minVersion> <em:maxVersion>3.0.*</em:maxVersion> </Description> </em:targetApplication>SeaMonkey なら
<em:targetApplication> <Description> <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id> <em:minVersion>2.0</em:minVersion> <em:maxVersion>2.0.*</em:maxVersion> </Description> </em:targetApplication>と言うことのようなんですが、はてさてこの UUID っていったいなんじゃらほい? というのはよく知らず。
この記述をどういう風に加えればいいかをよく調べてから、一度、 Thunderbird で 試してみるのかな?
# SeaMonkey は今のままでもすぐ動きそうですし。。。