moetora_banna
counter
todaydailycounter today yesterdaydailycounter yesterday
illustlated by 茜猫さん

[RSS 配信中] [トップページ] [このページについて]
[Linux Tips]
[Ubuntu(Feisty):メールサーバ] [Ubuntu:Cyrus IMAP + SSL] [Ubuntu:fglrx + Xgl + Beryl(0.2.0以前] [Ubuntu:fglrx + Xgl + Beryl(0.2.1以降)] [Gentoo:mplus-outline-fonts] [Ubuntu:arpspoof] [Ubuntu:logwatch] [Ubuntu:DPMS on Xgl] [Ubuntu:日本語入力 on Xgl] [Ubuntu:PDFへのフォント埋め込み] [Ubuntu:Compiz で widget]
[注目されたっぽい記事一覧]
[東大のなのはポスター] [lolifox特集] [ウイスキーマガジンライブ]

Log Search


Log


Mozilla!

Get Firefox!
Get Thunderbird!

Link




Firefox Addon 作成(その1)
いきなりですが,Firefox の Addon 作成を行うことにしました.
"その1"とか銘打って連載の香りを漂わせていますが,正直途中で投げる可能性も大です.
で,しかもあくまで自分用の備忘録でしかないので,体系的に知りたい方はFirefox3 ではじめる拡張機能開発あたりをご覧になってください.
うちは,ここに書いてあることを Ubuntu Linux 上でとりあえずやってみる,ぐらいの気概しかありませんのであしからず.
  1. 開発用プロフィールの準備
    まずはオフィシャルページのガイドを参考に開発用のプロフィールを作成します.
    とりあえず現状でどんなプロフィールがあるかを覗いてみると
    $ 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 にしました.
    すると,
    firefox_profile
    みたいな画面が表示されるので,"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
    となっていて,新しくプロフィールが作成されたことがわかります.
    とりあえず,第一歩は完了です.
  2. 開発用プロフィールの変更
    開発用に便利になる様にプロフィールを変更します.
    • 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);
    して直接追加してやりました.
    これでプロフィールの変更も完了.
  3. 拡張機能作成の開始
    今回はひとまず,"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
    すると,
    yannys_addon
    みたいに出てインストール成功です.
    よし,とりあえずここまで出来るとなんとなく満足感が出てきますね.