宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
という報告を受けて調べてみて、解決策が見えなくて頭を抱えてる。
原因はFirefox 3以降でタブの拡張性が深刻なまでに低下したことに起因している。現在、Firefox 3でタブの中に独自の要素(ツリー型タブの「ツリーの開閉状態を示すアイコン」「折り畳まれたタブの数を表示するラベル」など)を追加しようとすると、バインディングを上書きしてやらないといけない。でも複数のアドオンでバインディングを上書き上書きとやってると、最後にバインディングを適用した誰かの物だけが生き残って、他のアドオンが追加したバインディングは全滅してしまう。今回の問題も、ツリー型タブがFirefox自身の提供するバインディングを上書きした後から、Vimperatorがさらにバインディングを上書きしているために、タブの要素構造がツリー型タブが想定する構造から変化して、初期化に失敗するようになってしまっている。
ツリー型タブ、マルチプルタブハンドラ、情報化タブの3つを開発するにあたっては、この問題に対処するために、以下のような方針をとることにした。
これを実現するために作ったのがこちらのライブラリ。3つのファイルで構成されてる。
3つを同じ所に置いてXULファイルだけをオーバーレイで読み込ませると、バインディングを上書きする。他のアドオンで同じライブラリが読み込まれてる時は、最新の物が使われる。
これをVimperatorの作者の人にも使ってもらえればいいんだけど……誰にコンタクトすればいいか分からないし、そもそも向こうにはわざわざこれを使う動機がない。Vimperatorユーザは基本的にVimperatorのカスタマイズですべてを解決する傾向にあるようだから、他のアドオンとの互換性が低くても問題にならないだろうし。
ていうか僕自身Vimperator使ってないから、わざわざ上記のような交渉をしようというモチベーションがない。というわけで、上に名前が出てる3つのアドオンのどれかとVimperatorとを共存させたいVimperatorユーザの人は、自分で作者にコンタクト取ってください。(丸投げ)
実は既に本家に伝わっています。
#201 (Tree Style Tab extension view is not hierarchical) – vimperator labs
http://vimperator.org/trac/ticket/201
tracのコメントにありますが、vimpeator側のコマンドでCSSを切ると動くようになるよってのが今のところの解決策になってますね。
すみません、最後まで読まずにコメントしてました。
一応コミット権を持っているので、ちょっとやってみます。リジェクトされるかもしれませんが....
tabFx2Compatible.js ではなく tabFx2Compatible.xml なのでわ?
>一応コミット権を持っているので、ちょっとやってみます。リジェクトされるかもしれませんが....
期待age!
次のエントリにも書く予定ですが、このライブラリを使うことには以下の意義があると思ってます。
* Firefox 2互換なので、Firefox 2のタブ構造を期待しているアドオンに対して高い互換性がある。(これ以外の構造だと、結局は他のアドオンに、これのための対応を強いることになる)
* スクリプトの処理で任意の内容を後から付け加える方式なので、バインディングを総取っ替えする方式に比べて、衝突しにくい・衝突をフレキシブルに回避できる余地がある。(バインディング置き換えだけで回避しようと思うと、衝突するアドオンの数だけバインディングを用意しないといけない)
多数のアドオンをユーザが自由に組み合わせて利用すること、を前提にした配慮をすることが、結果的にはユーザの利益に繋がるはず。という思想なので、そこを受け入れてもらえたらなあ、と。
>tabFx2Compatible.js ではなく tabFx2Compatible.xml なのでわ?
恥ずかしいミスをやらかしてしまいましたorz
ツリー型タブとVimperatorを併用しているので同じく期待age!!
teramakoさんの言っている内容が全てですが,蛇足を書いておきます(^-^;)
Vimperatorのタブへのbindingはタブに番号振るのが主な目的っぽいので,以前はVimperatorからbinding部分のソースを削って使っていました.Vimperatorのtrunkではオプションで番号を振らないようにするとbindingも切られるので,設定次第で共存可,という感じです.どのみち完全には解決していないので,根本的な解決に至ると私は非常に嬉しいです!
の末尾に2020年11月30日時点の日本の首相のファミリーネーム(ローマ字で回答)を繋げて下さい。例えば「noda」なら、「2009-04-14_vimperator.trackbacknoda」です。これは機械的なトラックバックスパムを防止するための措置です。
writeback message: Ready to post a comment.