たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。
以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
まーこんな記事誰も読みたがらんだろうとは思いますが。ここ数日取り組んでたマルチプルタブハンドラでの複数タブの同時ドラッグ&ドロップ処理について一段落付いたので、やったことのまとめを文章で残しておこうかなと。
さて。タブのドラッグ&ドロップの処理になんかの機能や処理を加えようと思ったら、まず思いつくのは、gBrowser(tabbrowser要素)をnsDragAndDropのオブザーバとして利用するために定義されているonDragStart、onDragOver、onDragExit、canDrop、onDrop、getSupportedFlavoursあたりのメソッドを上書きするというやり方。実際、ツリー型タブではそうしてる。Tab Mix Plusの場合はもいっこ上のレベル、ondraggestureなどのイベントハンドラを書き換えてnsDragAndDropに渡すオブザーバそのものを入れ換えるという事をやってるけど、まあ、これも要するに同じことですね。
ただ、マルチプルタブハンドラの場合はその方法は使いたくなかった、というか、使えなかった。自分の使い方ではツリー型タブとの組み合わせが必須なんだけど、そうなると、もしマルチプルタブハンドラの実装を同様の方法でやってしまったら、組み合わせて使うと二つの拡張機能が同じ場所(nsDragAndDrop用のメソッド)を互いに上書きしようとするわけで、これはもう衝突すること間違いなしなワケですよ。だから何としても別の方法を考えなきゃならんかった。
ソース表示タブの新版をAMOにアップロードしたら、レビューの結果サンドボックスに留め置かれることになってしまった。理由は二つあって、一つはページのタイトルが表示されない問題があるということ(直したはずなのに何故レビューをした人の環境ではまだ起こってるのか、原因不明。詳しい情報を聞いてみたいと思ってる)。もう一つは、AMOのアドオンのページでレビューが付いてないこと。
って、一つ目はさておき、二つ目は「そりゃないだろ」って思った。前々から気にはなってたんだけど、AMOでは、公開申請される前のサンドボックス時代に付けられたレビューは公開された後は見えなくなってしまう。それを理由に「レビューが付いてないからサンドボックスね」って、システムの問題をこっちのせいにされちゃたまらんよ。
今回のことで改めて詳しく調べて分かったんだけど、AMOのシステムはサンドボックス時代に付けられたレビューに関して以下のような問題があるようだ。
念のため試験運用中の次バージョンAMOを見てみたら、全く同じ問題が起こっていた。Source Viewer Tabのページを見れば分かるけど、見出し部分や検索結果には「2 reviews」と表示されているのに、ページの中には肝心のレビュー本文が表示されていない。他のアドオン、例えばDelicious Bookmarksあたりではちゃんとレビューが表示されているが、これらはアドオンが公開された後に付けられた物なんだろう。
――という風なことを書いたメールをエディタ用MLのアドレスに投げてみたけど、こういう問題って本来はどこに投げるべき物なんでしょうね。
以下は実際に送ったメール。
1000人スピーカのgyuqueさんの晴れ舞台を見ないで土曜日は何をしてたかというと、Firefox Car撮影会に行ってた。Mozilla 24の時のアレ。もうそろそろステッカーをはがすということで、Firefox模様のセリカGT300の最後の勇姿をみんなで見ようよと。
<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/T6pbPb0j1JU"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/T6pbPb0j1JU" type="application/x-shockwave-flash" width="425" height="350" wmode="transparent"></embed></object>
Mozilla 24当日は三田会場からベルサール九段に移動して朝までずっとそこにいたから、渋谷のロックフェス会場にあったこの車は、当日は結局一度も見れなかったんだよね。実物は格好良かったすよやっぱ。
途中、泥混じりの雪とか雨とかで大変だった……風が強くて地面から舞い上がった土埃で前が見えなくなったりもした。終わった後ガレージに戻ってきたら、車の前の方が「どこのラリーに参加してきたんだ」ってくらい土まみれだった。
あ。行きのタクシー代、組長に払うの忘れてた。次に会った時に払います。(私信)
追記。そういえばニコ動のアカウントがあったので、ニコ動にも上げてみた。
動画を変換する仕組みが違うらしく、YouTubeではカットが変わる時に画が崩れてたのがニコ動では崩れない。その代わりコマ落ちが激しい感じ。まあ元がQVGAの携帯画質だから、それがどーしたって感じですが。
表題の通り。Multiple Tab Handlerではタブを選択して操作する機能があるけど、選択後のタブをドラッグ&ドロップしたら全部一緒に移動するようにしてみた。
というのはわりとすぐにできたんだけど、ツリー型タブとの組み合わせが少し大変だった。ツリー型タブがある状態のタブの移動は、単にタブの位置を変えるだけじゃなく、ツリー構造の変更も伴うから。故にツリー型タブではタブのドロップ時の処理をほとんど丸ごと置き換えるようにしていて、そっちの方でMultiple Tab HandlerのAPIを使って対応する(つまりMultiple Tab Handlerはツリー型タブがあるときは、タブのドロップ時は特に何もしない)ようにした。
あと、Firefox 3ではCtrl-ドラッグでタブを複製できるようになってるんだけど、ツリー型タブをこれに対応させるのにも手間取った。というか、今まで適当な処理でそれなりに動いてた部分について潜在していたバグが一気に表面化したという感じ。丸1日くらい使って地道に直した。
ツリー化された複数タブの選択→ドラッグ&ドロップの挙動については、例によってAdobe Illustratorのレイヤ/オブジェクトツリーの挙動を参考にしてる。
以下は未実装の項目。
Firefox 3でタブまわりの拡張機能の作りやすさが深刻なまでに低下した問題について、バグを立ててみたものの、余裕で放置食らってて、もう気づいてもらえることに期待するのが間違いなんだなとようやく悟ったので、諦めてFirefox 3のタブの中の要素構造をFirefox 2互換にするライブラリを作った。
上記3つのファイルを拡張機能の中に放り込んで、オーバーレイでtabFx2Compatible.xulを読み込ませるだけで使える。ツリー型タブや情報化タブのようにloadイベントのタイミングで初期化をするアドオンであれば、それ以外何も手を加えなくても、Firefox 2のタブを前提にしたコードのままでFirefox 3上で動くようになる。はず。あと、複数のアドオンで異なるバージョンのライブラリが読み込まれた場合は、その中で最新の物を有効にするようにしてある。
Windows用のMinefield Beta3でしか動作確認してない。
というわけでこれを組み込んでツリー型タブと情報化タブを更新した。
Firefox 3では更新情報の通知で具体的な説明文を配信できるということで、実験というか実践というか練習というかともかくそういう目的もあって、自前で公開してる方でもこの機能を使うようにしてみた。
問題は更新情報をどこに置くかということ。Firefox 3の新機能は、指定されたURLのXHTML文書をXSLTでサニタイズしてから表示するという物なので、既存のHTMLをそのまま参照させることは残念ながらできない。そこで、幸いというかなんというか、Rewind/Fastforward Buttons用に勝手SITEINFOを提供しようと思ってBlosxomで簡単なWikiっぽいものを作ったばかりだったので、これを流用して解決することにした。ここに更新情報を置いてflavourでapplication/xhtml+xmlで出力するようにしたあと、RewriteRuleで日本語版は日本語版・それ以外の言語は全部英語版に飛ばしている。早速戻る/進むサムネイルをアップデートしてみたところ、ちゃんと情報が表示されることが確認できた。
ところで、今までは更新情報のHTMLからupdate.rdfを生成するのに秀丸マクロを使ってたんだけど、このWikiっぽいものに更新情報を載せるというステップが加わるとさすがに秀丸マクロじゃ辛い。ということで、思い切ってMozilla用のJavaScriptに移植してみた。自作の偽DOM風サブルーチンじゃなくて本物のDOM、それもXPathとかバリバリ使いまくれるので、非常に楽だった。こんなだったらもっと早くにやっときゃ良かった。
McCoy用のアドオンにすればMcCoyだけで一連の作業を半自動で行えるようになるけど、今のところはまだそこまでたどり着けてない。そこは今後の課題ということで……
そういえば昨日Mobile Monday行ってきたんですよ。Mobile Firefoxの話があるって聞いたから。
会場は原宿〜表参道あたりにあるKDDIの建物。ここに来たのどれくらいぶりだろう。1年以上ぶりくらいじゃないだろうか。こういうリア充若者のための街にはとんと縁がないから……でもそのうちまた来ないといけないんですけどね。度の強い方の眼鏡をなくしてしまったから、またzoffで作らないといかん。
まあとにかくMobile Mondayなんですけど。翻訳とかあるのかなと思ったら、司会の人からもうバリバリ英語で。プレゼンテーターも全員ガイジンだし。プレゼンの内容は結局3割くらいしか分からなかった気がする。いや3割も分かってないかも。2割。もしかしたら1割。
えー、それで、Mobile Firefox。Mozillaの人の話は半分くらいは組織とFirefoxについての話のおさらいだったから、ここは聞かなくても大体分かった。あとの半分が肝心の、Mobile Firefoxはどうなるかっていう話だったんだけど。大体こんな感じの事を言っていたような気がする。
ごめんぶっちゃけこれだけしか分かんなかった。
ここで言ってた内容が全部ほんとに入るんだったらそりゃすげえって話なんだけど、実際にはまだUIのモックアップを作ったり作ってなかったりっていう程度だから、まあ、僕としては「そうなるといいね」という風に生温かい目で見守ることしかできませんなあ……
BroadBand Watchの記事に載ってたノートPCに群がる大量のフォクすけぬいぐるみの図に不覚にも萌えてしまったので、このサイトでもバナーコースで応募することにします。まあ「Firefox対応」というか、どっちかというとIEで表示が崩れるFirefox専用サイトみたいになってしまってますが(CSS2をまともに実装してれば崩れないんですがね)。
競争率は上がりますが、キャンペーンサイトも宣伝しておきましょうか。
お友達紹介コースでも応募できるものなら応募してみたいものですが、弊社はFirefoxか風博士のユーザしかいないし僕は独り暮らしだし両親は既に僕が勝手にインスコしたFirefoxとThunderbird使ってるしで、広める相手がいません。人間関係が閉じてるってやーねぇ。
昨年11月にエントリーして([1]、[2])たFirefox 2アドオンコンテストの結果がやっと発表されたよ。ずいぶん遅かったなあ……
結論から言うと、かすりもしませんでしたイヤッホー!
というわけでMozillaのえらい人にはやっぱりなれそうもないので今後はもえじらのエロイ人としてアイデンティティを確立していこうかなと思います。迷惑ですかそうですか。
しかしグランプリには選ばれなかったとはいえ、15人中3人は日本人か。国内シェアのわりには健闘してるよね。
Second Search更新した。Firefox 3(Beta3)とThunderbird 2に対応。
Thunderbird対応にあたって、全体的にコードに手を入れた。Firefoxだけでしか使わない部分とThunderbirdでしか使わない部分と両方で使う部分の3つにファイルを分割している。似たような構造の物に対してはこれで比較的楽に対応できるようになったんじゃないかと思う。
Firefox 3については、Placesへの対応がメイン。キーワードを設定されたブックマークを検索エンジンと同等に扱うという機能がSecond Searchにはあるんだけど、僕以外にどれだけの人が使ってるんだろう。
あと、「他の検索エンジン」サブメニューのあたりのコードもだいぶ書き直した。この辺はほんとは特に触る予定はなかったんだけど、Organize Search Enginesとの競合の解消も兼ねて、なるべく汎用的になるように変更している。っていうかテストしててなーんかうまく動かないなーと思って不思議だったんだけど、よく調べてみたらOSEの側にSecond Search用のハックが入っててそれが干渉していた。僕のアドオンのためにわざわざハック用のコードを書いてくれるなんて……よくあんなスパゲッティもスパゲッティなコードを解読してくれたもんだなぁ……と嬉しく思ったりもしたけど、このままだとせっかく修正したのがきちんと動いてくれないので、動くようにするパッチを作者の人に送りつけてみたり。