たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
TBEの機能を完全に代替できる拡張機能について、すでにある物は再発明しない方向性で、ちょこちょこ探してるんだけど。
ブックマークに文字のズーム状態を記憶させておく機能については、Content Preferencesがイイ感じに使えるっぽい。ブックマークなどからの読み込みでも問題なく設定を復元してくれる。
やるかどうかは分からないけど、タブのロック状態とかを記憶させるのもこの拡張機能に対する拡張で実現できないかな? もしかしたらTab Mix Plusはすでにそういう機能を持ってるんだろうか。
TBEの分割・再構築の一環で、マルチプルタブハンドラに続いて情報化タブを公開した。
今回、未読タブの強調表示の方法は斜体で決め打ちにした(userChrome.cssでカスタマイズできるけど)。設定UIに凝っても誰も喜んでくれないみたいだから…… 現在のタブを強調表示する機能は、Fx 2のタブだったら最初から現在のタブが判別しやすくなってるから、オミットしてしまった。
これが第2弾なのは、実装に手間がかからないからというだけの理由なんだけど、まあともかく、これでuserChrome.cssを使ってタブを縦置きすれば、とりあえずFirefox 2には移行できるかなー。という感じ。
いちおう旧TBEよりは若干改良してある。
こないだ英語で問い合わせを受けた時に書いた物をここにも転載しておく。
I'm going to split TBE and re-create tiny extensions which can work with other extensions together. This is the first step. I repulsed by old TBE because it is too large, too heavy, and too spaghetti...
I've created the extension above at first because the feature is important just for me. "Tab Tree" feature becomes possibly available next. Currently I'm focusing to satisfying myself, not for other users, so I'm very sorry. However I think this is the best way to solve this huge business (restructuring TBE). When I developed the old TBE, I was a school student, and I could work for users (not for me) like a volunteer service. Now I have less time so I believe that the self-satisfaction-driven development is the way.
I'm planning to release a meta package (a new feature from Fx 1.5, which is an archive of several XPIs and can be distributed as one XPI) of those tiny extensions, as new TBE.
一応、こういう事を言いたかったつもりです、という訳。
僕は今、TBEを分割して、他の拡張機能と連係して動作できる小さな拡張機能として作り直そうとしている。これ(マルチプルタブハンドラ)はその最初のステップだ。僕は古いTBEにうんざりさせられてきた。アレは大きすぎて、重すぎて、あまりにスパゲッティ化していた……
僕が前述の拡張機能(マルチプルタブハンドラ)を最初に作ったのは、その機能が他の誰でもなく僕にとって重要だったからだ。多分次は「タブツリー」機能を提供する拡張機能をリリースすると思う。申し訳ないけど、現在、僕は他のユーザのためではなく、あくまで自分自身の要求事項を満足させることだけに集中している。しかし僕はこれが、TBEの再構築という難題を解決するための一番いい方法だと思っている。僕がかつてTBEを開発していた時、僕は学生で、他のユーザのために自分自身の要求以上のクオリティでボランティアのサービス的に尽くしていた。今ぼくはその頃ほど自由時間が無いから、僕は、自己満足ドリブンな開発こそが、唯一の道だと思っている。
僕は今、そうして開発した小さな拡張機能を一つのメタパッケージ(Firefox 1.5以降の新機能で、複数のXPIパッケージを一つのXPIパッケージにまとめて配布できる)にまとめて、新しいTBEとして配布することを考えている。
マルチプルタブハンドラの次にタブツリー機能を提供する物をリリースするつもりだったんだけど、先に実装の簡単な方から片付けることにしたので、上記の発言は結果的には嘘になってしまったなあ……
マルチプルタブハンドラを更新する中で、思い付いたというか気がついたことなんだけど。
nsISessionStoreを使ってウィンドウやタブを複製する方法って、うまくやればもっと効率よくやれるんだな。getWindowState()
で取得した文字列をそのまま使うんじゃなくて、一旦eval()
で評価してオブジェクトの形に戻して、不要なタブのデータとかをあらかじめ全部削除してから、もう一度toSource()
でJSON風文字列に戻して使えば、無駄なタブを開く→初期化→無駄なタブを削除 という処理をなくすことができる。
ていうかもっと突き詰めれば、ウィンドウ全体の状態を取得した後で、そのデータの中からある特定のタブの状態だけを抜き出して(それ以外を消して)、そのウィンドウ自身に対してsetWIndowState()
で「復元」を実行してやれば、タブをウィンドウ内に複製することだって簡単じゃないか。
というわけで、時々自分自身もタブの複製機能を使っていたこともあって、マルチプルタブハンドラにこの機能を組み込んでみた。
昨日一日がかりで作ってた物をマルチプルタブハンドラという名前で公開してみた。
「TBEのFirefox 2用アップデート」というのは敷居が高すぎるというか既に情熱が枯れてしまった僕には荷が重すぎてとても不可能なので、今ある機能のうち特に自分が今よく使っている機能から順番に再実装していくことにした。こいつはその中でも、タブのクローズボックスのドラッグによる選択→まとめて閉じる という操作だけに特化した拡張機能だ。
この機能は元々はiRiderというブラウザの挙動をパクった物で、TBEの機能の中では最も最近加わったやつなんだけど、Firefox 2標準のタブの使い方を勉強するには手頃な規模の物になったと思う。
で、せっかくだから似たような実装で実現できる機能として、タブカタログの「ドラッグして選択→いろんな操作」という挙動も盛り込んでみた。メニューの内容は簡単に追加できるようにしてあるので、これからTBEの機能を分割していった後にも比較的楽にそれぞれを連携できるんじゃないだろうか……と、夢想してみている。
APIはまだちゃんとしたドキュメントは書いてないんだけど、草稿はあるんで、userChrome.jsあたりと組み合わせて誰か使ってみてくれないかなあ。とか。
あと、Tab KillerをFirefox 2向けにアップデートした時に勉強した成果を活かして、Firefox 2のセッション管理機能だけを使って「タブをウィンドウに分割」という機能も入れてみた。
何となく、この規模でこの程度の機能の物は既に誰かがもう作っちゃってるんじゃないかなーという気もするんだけど。どうなんだろ。
ていうか開発初期の数時間くらいの間、名前をどうするか悩んでて、「タブを選択したりまとめて閉じたりするアレ」とかのネタっぽい名前が結構有力候補になってたんだけど、結局こういうモヤモヤしたよくワカラン名前に落ち着いた。まあ、どうせ今頃こんなの作った所でハナから死んだプロジェクトみたいなもんだし、どうでもいいよね……
どうでもいいといえばこれはほんとにどうでもいいんだけど、「マルチプルタブハンドラ」てカタカナで書くと「ハムナプトラ」とか「アルハンブラ」とかそういうのと混乱して困る。
TBEをハックしてFirefox 2で動くようにしてしまった人がいるよーです。アホちゃうか! 作者ですら投げてしまった物を……(褒め言葉)
ということでDebian使いな人にお願いしてパッケージをダウンロードしてしてもらい、あわよくば変更点を取り込ませていただこうと思ってとりあえずFx 2でちゃんと動くかどうかを試してみたら、なんか、ツリーモードとかばっさり削除されてましたショボーン。やっぱり自分で作りなおすしかないのか……
なんか隠し設定でバージョンチェックを無効にしたりNightly Tester ToolsやMR Tech's Local Install使ったりしてTBEを無理矢理Firefox 2にインスコして火を吹いてる人が結構いるみたいですけど、TBEはFirefox 2じゃ動きませんよ。
いやFirefox「2」とはいっても、変わってない部分も多いんですけどね。しかし全体で見ると、タブまわりは特に激しい変更が集中してて、今までTBEが乗っかってた部分がまるで別物になってるんですよね。単に動作チェックできてないから非対応としてるんじゃなくて、ほんとに動かないから非対応なんですよ。
とりあえず、Firefox 0.8とかの頃からの各バージョンに対応するためにひきずってきてた部分とか全部なくして、なるべくFirefox 2本体の機能を活かして、効率のいいものにしたいとは思ってるんで、そうなるともうはっきり言って全部作りなおすようなことになる訳で、しかし当面そんなことをやれる気力はないわけで、まあ気長に待っててくださいなと。僕自身がのっぴきならない状況になったらイヤでも更新するでしょうしね。
TBEでサブツリーを展開したとき、Windowsのエクスプローラのフォルダツリーのように、以下の挙動を行うようにした。
なんか単独の拡張機能を期待されてる風な気もするんだけど、iRider風の動作を実現しようというのは、ウンコ拡張と名高い(←なんかウンコを拡張してるみたいでアレな形容ですね)TBEの新機能として実装しようという話ですよ。ごめんなさいね。
というわけで公開しました、TBE 2.1.2006011301。iRider風にする場合は、設定ダイアログのツリーで「タブブラウザ拡張」を選択して「プリセット設定を呼び出す」で「iRider互換設定」を選べばOK。初めてインストールした場合も同じ要領で。
ドラッグによるタブの選択を実装した。
あと、リンクまわりとか細かい不具合も修正。すべてのリンクを常にタブで開く設定は今まで自分でも使ったことがなかった(ぉぃ)ので、フレームを使ったページで困るということに気付いてなかったよ。
設定GUIをもう少し練り込んだら公開しよう。