Mozillaを「非タブブラウザ化」する。
この拡張機能は、Mozilla 0.9.5以降で実装されたタブブラウジング機能を無効化して、従来どおりのSDI(シングルドキュメント・インターフェース)のWebブラウザとしてMozilla SeamonkeyおよびFirefoxを機能させるというものです。ですから、「拡張機能」というよりは、「拡張」の対義語で「萎縮機能」と呼ぶのが適当かもしれません。(ここ、笑うところですよ)
まずは名称にもなっている方の機能からご説明します。
Mozillaのタブブラウジング機能は、タブ関係の基本機能を全て「tabbrowserウィジェット」という極小のXULアプリケーションで実装しておき、他の部分はそのメソッドを利用するのみという形で実現されています。そして、タブを開く・タブを閉じるというタブブラウジングの中枢とも言える機能は、このtabbrowserウィジェットのaddTab()
およびremoveTab()
というたった二つのメソッドでまかなわれています。(※詳しくはタブブラウザ拡張の解説をご覧ください)
この拡張機能は、これら二つのメソッドと「タブを表示する」処理の3つをピンポイントで上書きすることにより、タブの追加・削除などの処理を一切行えなくします。
ちなみに、タブを開く要求があった場合、要求を無視するだけでなく、タブの代わりに新しいウィンドウを開くようにも設定できます。
この拡張機能を制作するに至ったきっかけは、中村友次郎氏の「非タブ化計画」を目にしたことです。「どこを見回してもタブの便利な使い方の解説ばかりで、拡張機能もタブを使うことが前提のものばかりだ」という氏の言葉を見て、その不満はもっともなことだと思いました。
Mozillaのタブブラウジング機能は初期状態では不完全と言わざるを得ず、私はここで「完全なタブブラウジング機能を実現する」ことを目標に「タブブラウザ拡張」という拡張機能を制作する道を選びました。しかし、逆に「こんな中途半端なタブブラウジング機能なら無い方がマシだ」と考える人がいてもおかしくはありませんし、そもそもタブインターフェースよりもOS標準のウィンドウインターフェースの方が使いやすいという人もいるでしょう。この拡張機能がそういう人のための解決策となれたら幸いです。
なお、そのようなもっともな理由以外にも、「タブブラウザ拡張」と「非タブブラウザ化拡張」の二つを同時に制作・公開すれば何かの話のネタになるのではないか、という目論見もありました。どこかの風呂用洗剤あたりを想起させるようなアレなネーミングにもそれが顕れていると思います。私自身は結構この名前を気に入っているのですが、皆さんはどう思われるでしょうか?