いきなりですが,Firefox の Addon 作成を行うことにしました.
"その1"とか銘打って連載の香りを漂わせていますが,正直途中で投げる可能性も大です.
で,しかもあくまで自分用の備忘録でしかないので,体系的に知りたい方は
Firefox3 ではじめる拡張機能開発あたりをご覧になってください.
うちは,ここに書いてあることを Ubuntu Linux 上でとりあえずやってみる,ぐらいの気概しかありませんのであしからず.
-
開発用プロフィールの準備
まずはオフィシャルページのガイドを参考に開発用のプロフィールを作成します.
とりあえず現状でどんなプロフィールがあるかを覗いてみると
$ ls $HOME/.mozilla/firefox/
hogehoge.default profiles.ini (一部ファイル省略)
こんな感じみたいです.
profiles.ini ファイルの中身を覗いてみても
$ cat $HOME/.mozilla/firefox/profiles.ini
[General]
StartWithLastProfile=0
[Profile0]
Name=default
IsRelative=1
Path=hogehoge.default
となっていて,default プロフィールしかないのがわかります.
そんなわけで,開発用プロフィールの新規作成に参りましょう.
以下の様にしてコマンドラインから Firefox を起動します.
$ firefox --no-remote -P developer
-P 以下はなんでもいいみたいですが,ここではとりあえず developer にしました.
すると,

みたいな画面が表示されるので,"Create Profile" を押して適当にプロフィール名を入力し,完了.
その後でプロフィールのディレクトリを覗いてみると
$ ls $HOME/.mozilla/firefox/
hogehoge.default piyopiyo.developer profiles.ini (一部ファイル省略)
$ cat $HOME/.mozilla/firefox/profiles.ini
(上記とかぶる部分については省略)
[Profile1]
Name=developer
IsRelative=1
Path=piyopiyo.developer
Default=1
となっていて,新しくプロフィールが作成されたことがわかります.
とりあえず,第一歩は完了です.
-
開発用プロフィールの変更
開発用に便利になる様にプロフィールを変更します.
- javascript.options.showInConsole
- nglayout.debug.disable_xul_cache
- browser.dom.window.dump.enabled
- javascript.options.strict
の4つを変更するのがいいみたいです.
$ firefox --no-remote -P developer
で Firefox を起動して,アドレスバーに about:config と打つことで編集できます.
nglayout.debug.disable_xul_cache と browser.dom.window.dump.enabled に関しては僕の環境だと設定できなかったのですが,いったん Firefox を落として
$ vi $HOME/.mozilla/firefox/piyopiyo.developer/pref.js
user_pref("browser.dom.window.dump.enabled", true);
user_pref("nglayout.debug.disable_xul_cache", true);
して直接追加してやりました.
これでプロフィールの変更も完了.
-
拡張機能作成の開始
今回はひとまず,"testdev" というアドオンを作って(?)インストールをすることにしました.
アドオンをインストールする際には,アドオンの ID を決める必要があるのですが,ひとまず "testdev@moetora.com" ということにしました.
で,そのアドオンを開発するディレクトリは,$HOME/Mozilla/testdev にしました.
まずは,extensions ディレクトリ内に開発ディレクトリへのポインタファイルを作成します.
$ cd $HOME/.mozilla/firefox/piyopiyo.developer/extensions
$ vi testdev@moetora.com (ファイル名はアドオンの ID と同じにします.)
/home/yanny/Mozilla/testdev ($HOME は使えません)
そして,アドオンの install.rdf を作成します.
$ cd $HOME/Mozilla/testdev
$ vi install.rdf
<?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>testdev@moetora.com</em:id>
<em:type>2</em:type>
<em:name>Test Dev</em:name>
<em:version>0.1</em:version>
<em:description>This is yanny's test add-on.</em:description>
<em:creator>Yanny</em:creator>
<em:homepageURL>http://www.moetora.com/</em:homepageURL>
<em:targetApplication>
<Description>
<em:id>ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>3.0</em:minVersion>
<em:maxVersion>3.0.*</em:maxVersion>
</Description>
</em:targetApplication>
</Description>
</RDF>
基本的にはこれを参考に書いていただければいいみたいです.
Description の中の id については,,,謎です.
上記の連載サイトのをそのまま使わせていただきました.
この後で,
$ firefox --no-remoete -P developer
すると,

みたいに出てインストール成功です.
よし,とりあえずここまで出来るとなんとなく満足感が出てきますね.