compiling Phoenix(2)

まず、もじらのソースを持って来る。展開したディレクトリで

% 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 u スクロール

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 を超えたか!?

おしまい。


Generated with mkdiary.rb
yuuji@example.org
Fingerprint16 = FF F9 FF CC E0 FE 5C F7 19 97 28 24 EC 5D 39 BA
HIROSE Yuuji - ASTROLOGY / BIKE / EPO / GUEST BOOK / YaTeX [Tweet]