たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。
以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
自分で確認したのは以下の現象。
Ez Sidebarでは分離したサイドバーを正常に動かすために、他の拡張機能や組み込まれたパネル自身に対して「このウィンドウはFirefoxのブラウザウィンドウですよ」と見せかけるよう、いくつかのプロパティや関数を再定義している。プロパティはObject.__defineGetter__()
を使って再定義していて、参照するとFirefoxのブラウザウィンドウの同名プロパティを返すようになっている。つまりこのgetterを通じて、サイドバーのウィンドウとブラウザウィンドウとは繋がっている。
よって、サイドバーのウィンドウ内でこのプロパティに何か変更を加えれば、それはブラウザウィンドウ内で変更がなされたのと同じことになる。バインディングのdestructorやunloadイベントでの終了処理でそういった処理を行っていれば、サイドバーのウィンドウを閉じたタイミングで、ブラウザウィンドウの終了処理が一部分だけ実行されてしまうことになり、結果、ブラウザウィンドウの挙動がおかしくなる。こういう事ではないかと考えられる。具体的にどこら辺の処理がそうなのかは、まだ分からないんだけど。
根が深いなあ。
TBE更新。
タブバーを縦置きした場合、タブの幅のピクセル指定をタブ自体ではなくタブバーの方に設定するようにした。これは、ツリーモードで階層が深くなって各タブに左マージンがつくとタブバーの幅が広がってしまう問題への対処のため。
……だったんだけど、ついでだから、隣にスプリッタを置いて動的にリサイズ可能なようにしてみた。む、これはこれでなんか面白いかもしれないな。
TrunkではFirefoxいっこあればGUID生成までできてしまうそうで……
var newGUID = Components.classes["@mozilla.org/uuid-generator;1"]
.createInstance(Components.interfaces.nsIUUIDGenerator)
.generateUUID()
拡張機能やテーマのIDについては名称@ドメインという簡易表記でも良いので、どうしてもGUIDじゃないと困る場面ていうのがすぐには思いつかないんだけど、そういう場面というのもあるんだろうなあ。
plus7さんの過去のメモを参考に、BXのようなエクスプローラ互換の自動開閉の実装やら何やら、さらに細かいところに手直しを加えて、TBE 2.0として公開した。
激しく非推奨とか自分で書いときながらなんで更新するのかって? そんなの僕のエゴに決まってるでしょう。
サブツリーの開閉のアニメーション表示に対応した。設定の競合は、ツリー表示時には利用できない設定をすべて無効化することにした。
1.14とか1.15とか、もういいかげんメジャーバージョン繰り上げれって感じだったけど、見た目に派手な変更が無かったからズルズルここまで来てしまってた。でも今回のは視覚的に超目立つ。これを機にバージョン番号を2.0に繰り上げますかね。
タブをツリー順に並べ替える処理の効率に改善の余地有りだけど、とりあえずまともに動くようにはなってきた。後最低限必要なのは、他の設定との競合の解決かな。将来的には、サブツリーの折りたたみにも対応できればいいんだけど……
TBEに元からあった縦置きのタブをそのまま使って実現してるので、右に置くことも当然できますよ。
んで、ツリーの開閉機能も付けてみた。
フォーカスが絡むとちょっとややこしいことになるけど。
ということに気がついてしまったので、タブのツリー表示実現に向けて久しぶりにゴリゴリ書いてます。
擬似ツリー表示の時は、タブの並べ替えのアルゴリズムをいじらなあかんとか、ユーザによるタブの並べ替えを制限する必要があるとか、今のままの実装では困るところがあったので、そこにも手を加えつつ。もうちょっとでお目見えできそうですよ。
はっきり言って内部的にはオーバースペックな感じだったタブのグループ化機能、無茶して実装しといて良かったなーと思った瞬間でした。
ツールバーの中身を勝手に変えるのは非推奨らしい。しかしツールバーにボタンを追加しないと使えないような拡張機能なのに導入後全く放置というのはやっぱリ不便なわけで。
ということで、とりあえずRewind/Fastforward Buttonsに、初回起動時にだけ「この拡張機能はツールバーにボタンを追加しないと使えないけど、どうするよ?」と確認を行うようなコードを組み込んでみた。ここまでやりゃあ文句あるめえ(誰ともなしに)。
しかし我ながら、この至れり尽くせりさには呆れるなあ。こんな余計なコードを、たかが初心者ユーザのために、それもたった一度きりしか実行されないようなものまでガンガンぶち込むから、糞重くなってPiro拡張化するわけですよ。それでまた上級ユーザから「うぜえ」と言われるわけですよ。ほんとやってらんねー。
しかしコメントするななんて言ったっけか。どうにも思い出せないんだけど。だからリンク先の文章を僕に宛てて書かれたものと解釈するのは思い上がりという可能性があるけど、まあ過剰反応しとく。
クリップボード監視や早送り/巻き戻しボタンに、「拡張機能インストール後の初回起動時に自動的にツールバーにボタンを追加する」処理を組み込んでみた。これらの「ツールバーにボタンを追加して使う」系の拡張機能で汎用的に使えるように書いたつもり。
Devmoの記事の要約的翻訳。あははははーTabbrowser Extensionsなんてまさに悪い見本ですねー(鬱)
Devmoってアカウントさえ持ってれば誰でも記事を書いたりいじったりできるみたいなんだけど、ということは勝手に翻訳して日本語版記事としてDevmoの/ja/以下にうぷっても良いのだろうか?