まず、もじらのソースを持って来る。展開したディレクトリで
% cvs up -Pd browser and toolkit
する。と、Phoenixのソースが入って来る。
カレントディレクトリの .mozconfig
ファイルを
以下の内容で。作成する。
export MOZ_PHOENIX=1
mk_add_options MOZ_PHOENIX=1
ac_add_options --enable-crypto
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-mailnews
ac_add_options --disable-composer
ac_add_options --enable-optimize=-O3
ac_add_options --enable-optimize
ac_add_options --without-system-nspr
ac_add_options --without-system-zlib
ac_add_options --without-system-jpeg
ac_add_options --without-system-png
ac_add_options --without-system-mng
このうち、色を変えた部分が「Phoenix をmakeする でぇ」という宣言。ほかは、デバッグルーチンを外してリリース可能なパッケー ジを作るために必要なもので、なくてもいいが、ないと2.5倍くらい遅いバイナ リができる。けどデバッグに協力できる。
んでもって、おもむろに、
% ./configure --prefix=すきなとこ && gmake && gmake install
おしまい。あら簡単。
h j k l でないところが苦肉の策。おまけに素の(モディファイやキーを併用 しない) h j k l は Type Ahead Findに食われてしまう(ちうか慣れると便利)ので、 M-{h,j,k,u} に逃げよう。
あと、1画面分戻りをBackSpaceとC-hに、「前のページに戻る」をC-bに、 「次のページに進む」をC-fにしよう。
これらのバインドは
すきなとこ/lib/mozilla-version/res/builtin/userHTMLBindings.xml
に置けば良いのだが、その前にデフォルトで C-h, C-b, C-f が機能を持ってい
るのでこれを潰さなければならない。これはちと面倒。
以下、すきなとこ/lib/mozilla-version
のことを $PhoenixLIB
と表記する。
デフォルトのキーバインド設定は $PhoenixLIB/chrome/browser.jar
に入っている。Javaを知ってる人なら分かるが、これは zip アーカイブ。
展開。
% cd $PhoenixLIB/chrome
% unzip browser.jar
% cp browser.jar{,.bak} # バックアップ取っとこうね
いっぱいデフォルト定義ファイルが出てくる。これらのうち、
キーバインド情報のほとんどは、
content/browser/browser.xul
に書かれている。
これをいじる。けど、パッチを当てた方が楽ね。
% patch -d content/browser < browser.xul.diff
そしたら browser.jar
を作りなおす。
% zip -r browser.jar content
いちおうパッチが何やってるかは確認しとくれ。
$PhoenixLIB/res/builtin/userHTMLBindings.xml
を以下の内容で
作成。
<?xml version="1.0"?> <!-- In order to work correctly, this file must live in the --> <!-- res/builtin directory of the mozilla tree. --> <bindings id="htmlBindings" xmlns="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <binding id="browserUser"> <handlers> <!-- <handler event="keypress" key="b" command="cmd_scrollPageUp" /> --> <handler event="keypress" key="b" command="Browser:Back"/> <handler event="keypress" keycode="VK_BACK" command="cmd_scrollPageUp"/> <handler event="keypress" keycode="VK_BACK" command="cmd_scrollPageUp" /> <handler event="keypress" key="h" modifiers="control" command="cmd_scrollPageUp" /> <handler event="keypress" key=" " command="cmd_scrollPageDown" /> <handler event="keypress" key="h" command="cmd_scrollLeft" modifiers="alt"/> <handler event="keypress" key="u" command="cmd_scrollLeft" modifiers="alt"/> <handler event="keypress" key="j" command="cmd_scrollLineDown" modifiers="alt"/> <handler event="keypress" key="k" command="cmd_scrollLineUp" modifiers="alt"/> <handler event="keypress" key="l" command="cmd_scrollRight" modifiers="alt"/> <handler event="keypress" key="g" command="cmd_scrollTop" /> <handler event="keypress" key="g" command="cmd_scrollBottom" modiffiers="shift"/> </handlers> </binding> </bindings>
見ればなんとなく分かるじゃ呂。
だんだん、Type Ahead Find に慣れてきた。狙ったリンクには 2〜3文字タイプするだけで飛べるようになった。うお、これはサクサク感におい て w3m を超えたか!?
おしまい。