Home > Latest topics

Latest topics 近況報告

たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。

萌えるふぉくす子さんだば子本制作プロジェクトの動向はもえじら組ブログで。

宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! シス管系女子って何!? - 「シス管系女子」特設サイト

Page 19/31: « 15 16 17 18 19 20 21 22 23 »

CSS3 Ruby Module - Mar 16, 2008

ruby-alignruby-overhangline-stacking-ruby(これはRuby ModuleではなくてLine Module)の仕様書を読みながらこれらを実装してみている。line-stacking-rubyはruby要素上下のマージンの動的設定でも使わないと再現できないので、display:inline-tableが使えるGecko 1.9(Minefield)でなければline-stacking-ruby:include-rubyで固定になる。

まぁ、どれだけ意味があるかは甚だしく疑問で、ほとんど意地(と現実逃避)ですね。

ということでその成果をXHTMLルビサポート 2.1.2008031701として公開した。設定項目とその効果は基本的に上記の仕様通り(各設定項目の初期値も仕様の初期値)なので、何がどう変わるのか分からんという人はそちらを見てください。

XHTMLルビサポートで文字の均等割り付けに対応したよ - Mar 13, 2008

XHTML Ruby Supportで、ルビベースよりルビテキストが短い時や、ルビテキストよりルビベースが短い時などに、均等割り付けを行うようにしました。 (スクリーンショット) このスクリーンショットはW3Cのテストケースの物ですが、下のルビの「言語」が今までなら中央寄せになっていたところ、ちゃんとルビベースに合わせて字間が広がってます。すぐ上にある「こうあるべき」という表示結果の例と比べても遜色ないことが分かってもらえるかと思います。このテストケースは複雑ルビも使っているので、ルビ実装の本家本元のIEでも表示できないですよ(多分)。

てか、W3Cのテストケースのテスト結果のページ見たら、このアドオンを使った場合の結果が妙に優秀でワロタ(テスト自体は昨年9月の物のようで、注釈で文字の均等割り付けに非対応であると指摘されてる)。

「均等割り付けなんてtext-align:justifyでやりゃいいじゃん、何を今更……」と思う人もいるかもですが、text-justifyのような均等割り付けのアルゴリズム変更の手段がないGeckoでは、段落の最終行は常に左寄せになってしまうので、こういう場面では使えないんですよ。なので、今回は自前で地道に字間を計算して調整してます。計算の仕方は、ずっと昔に中野さんがブログで書いてた本物のtext-align:justifyの実装の解説を参考にしてるつもりです。詳しく知りたい人はjustifyTextメソッドのコードを見てください。

@JOJOとかも、これで心おきなく楽しめます。

あー、しかし北村さんがCSSでルビを擬似的に表示する方法を発表されてから、もう7年も経つのか……その頃生まれた子が今じゃ小学生ですよ? 僕は相変わらず独りでこんな事ばっかやってるというのにねぇ。

タブバーを自動で隠す時の透過の様子のデモ - Mar 11, 2008

ツリー型タブでタブバーを自動で隠す設定の時に、うそっこ透過タブバーで下の物が見えるようにした、と書いたけど、その様子のデモを作ってみた。

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="283" codebase="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0"> <param name="movie" value="/xul/_video/treestyletab_autohide.swf"></param> <param name="roop" value="false"></param> <param name="quality" value="low"></param> <embed src="/xul/_video/treestyletab_autohide.swf" width="300" height="283" quality="low" loop="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"> </embed> </object>

こうして見てみるとスタック型タブとあんま変わらんように見えるな……

そういや昨日これのためのコード書いてたら、Minefieldでタブバーの幅が300ピクセル以下にならなくて、おっかしーなーと思って色々詳しく調べてみたら、HTML Canvasの幅を0にしようとすると問答無用で300ピクセル幅(canvasの初期状態の幅)になってしまうようだった。さらに検証してみたらFirefox 2ではその逆に高さを0にできないという現象も……Bugzillaを検索してみてもクエリが「canvas width」だとやたらたくさん引っかかって同じバグがすでにあるかどうか分からなかったので、とりあえずバグを立ててみた。ガイシュツだったらすんません。ちなみに幅も高さも、最小値は1ピクセルまでだったらちゃんと指定通りに動くようです。というバッドノウハウ。

追記。しばらく使ってみたら、タブの下の何もないスペースを、タブバーがあることを忘れてうっかりクリックしてしまうということが頻発したので、タブバー部分はそうと分かるように色を変えるようにした。

差出人(送信者)情報を自動的に切り替えてほしい - Feb 29, 2008

Thunderbirdでは、複数のメールアカウントを設定している場合、メールを返信しようとすると、そのメールを受信したアカウントの差出人設定が自動的に選択されるそうだ。

しかし残念ながら僕は仕事用のアカウント一つだけしか作っていなくて、プライベートのアドレスで受信したメールを仕事用アドレスにも転送するという使い方をしている。差出人設定は仕事用とプライベート用の2つを設定してあるけど、返信する時は受信アカウントのデフォルトの差出人(=仕事用アドレス)が選択されてしまうので、手動で差出人を選択し直してやらなくてはならない。うっかりそれを忘れると、プライベートで受信したメールに仕事用アドレスで返信することになってしまう。(仕事中にプライベートでメール書くなよって? いや、仕事の時以外でもこのマシン使うんで……例えば出先とかね)

どがんせんといかんと思って検索してみたら、Correct Identityという拡張機能が見つかった。これを入れておくと、メールに返信する時、受信アカウントに関係なく、メールの宛先(CCでも可)に設定されたアドレスに対応する差出人が自動的に選択されるようになる。

ただ、転送メールを使っていて受信アドレスと返信アドレスが異なる、という僕のような人は注意が必要だ。

僕は公開してるアドレスはずっと piro@p.club.ne.jp で通してるけど、これは転送専用のアドレスで、昔はCC-Netのアドレスに、今はさくらのレンタルサーバ付属のアドレスに転送されるようになっている(それをさらにGMailで受信して、仕事用アドレス宛に自動転送する、ということをしている)。しかし、さくらのレンタルサーバのアドレスはFrom:フィールドのアドレスが上記転送アドレスになっているとメールを送れないので、差出人情報はそっちのアドレスで作ってある。このままだと、piro@p.club.ne.jpで受信したメールに対応する差出人が見つからないということになってしまう。

幸い、Correct Identityにはエイリアスの設定機能があった。ここに自分宛のメールの宛先に設定されることがあるアドレスを改行区切りで列挙しておく(これに気付かずスペース区切りやカンマ区切りで書いてしまって「なんで動かないんだ」としばらく詰まった)と、受信したメールの「宛先」がpiro@p.club.ne.jpになっていても、対応する差出人としてさくらのレンタルサーバのアドレスが設定された差出人が選択されるようになる。

ほんとに何でもあるね……なんか本気でThunderbirdから離れられなくなりそうだ。

ここまでのカスタマイズまとめは以前書いたエントリにある。

ツリー型タブの最近 - Feb 28, 2008

ここ最近のツリー型タブの状況まとめ。

先週末くらいから現実逃避度合いが加速して、それがそのまま頻繁なバージョンアップに繋がっています。この1週間くらいでやったことのうち大きなトピックは以下のような感じか。

  • 公開申請が通って、晴れてサンドボックスから出た。
  • Firefox 3 Beta3(正確にはb4pre)対応。
  • タブバーの固定、表示位置変更をコンテキストメニューから可能にした。
  • マルチプルタブハンドラでの複数タブドラッグに対応。
  • HighlanderPermaTabsColorfulTabsSuper DragAndGoDrag de Goとの競合の解消・連携を強化。

他、細々とした改善が多数。だいたいAMOの配布ページディスカッションに寄せられてた障害報告や要望への対応が多い。

以前TBEをやってた頃は、あまりに規模がでかかったこともあって、とてもじゃないけど他の拡張機能のために配慮するなんて事はできなかった。その点ツリー型タブとかの最近作った物は、なるべく機能を絞り込むように・見通しがよくなるように気をつけている(つもり)ので、あの頃よりもずっと楽にコードを書けてると思う。具体的に名前が挙がったアドオンについて、わりと片っ端から対応用のコードを書いていけてるのも、そういう事情があってこそだ。

しかしいくらサンドボックスから出られたからとはいえやたらたくさんコメントが付いて、正直追いかけるのだけで大変だ。何でだ?と思ってたら、数日前にlifehackerで紹介されてた。コメント欄を見てみると、おおむね好評なようで嬉しい。Firefoxのユーザ全体のうちこの拡張機能を使ってくれてる人の割合は物凄く小さいものだとは思うけど、英語圏はなにぶん人の数が桁違いに多い。英語でリリースしておくと日本語だけでリリースするより多くの人に誉めて貰える&喜んで貰えるので、僕のような構ってちゃんで誉めてもらえないとロクに動けない人間にとっては、その点では都合がいいと言えるかもしれない。

goo辞書 1.0.1の裏技(?) - Feb 27, 2008

goo辞書 1.0.1から、about:configあたりでextensions.goodictionary.context.shortcut.enabledをtrueにすると、キーボードショートカットが使える。ページ中の文字列を選択した状態でCtrl-Shift-Eで英和、Ctrl-Shift-Jで和英、Ctrl-Shift-Nで国語・新語辞書の検索を実行。

という、小ネタ。

自分はセカンドサーチを入れた状態で選択語句を検索バーまでドラッグ→ポップアップから検索エンジンを選択してドロップ、という操作の方をよく使うので、キーボードショートカットはあまり使わないんですけどね。文字列のドラッグ&ドロップを「検索を実行する」という用途にだけ使うんだったら、ブラウズ領域全体を使って検索エンジンを選べるWeb Search Proの方が便利かもだけど、僕はテキストエリア内で文字列のドラッグ&ドロップで移動するという編集の仕方も時々やるので、それができなくなってしまうのは嫌だった。敢えて検索バーまでドラッグすることで明示的に「これからこの言葉を検索したいです」って指示してやるというスタイルの方が性に合ってる。自己主張しすぎない控えめなのが好きなんですよ。

マルチプルタブハンドラで複数タブをまとめてドラッグ&ドロップできるようにしたよ - Feb 24, 2008

表題の通り。Multiple Tab Handlerではタブを選択して操作する機能があるけど、選択後のタブをドラッグ&ドロップしたら全部一緒に移動するようにしてみた。

というのはわりとすぐにできたんだけど、ツリー型タブとの組み合わせが少し大変だった。ツリー型タブがある状態のタブの移動は、単にタブの位置を変えるだけじゃなく、ツリー構造の変更も伴うから。故にツリー型タブではタブのドロップ時の処理をほとんど丸ごと置き換えるようにしていて、そっちの方でMultiple Tab HandlerのAPIを使って対応する(つまりMultiple Tab Handlerはツリー型タブがあるときは、タブのドロップ時は特に何もしない)ようにした。

あと、Firefox 3ではCtrl-ドラッグでタブを複製できるようになってるんだけど、ツリー型タブをこれに対応させるのにも手間取った。というか、今まで適当な処理でそれなりに動いてた部分について潜在していたバグが一気に表面化したという感じ。丸1日くらい使って地道に直した。

ツリー化された複数タブの選択→ドラッグ&ドロップの挙動については、例によってAdobe Illustratorのレイヤ/オブジェクトツリーの挙動を参考にしてる。

以下は未実装の項目。

  • Firefox 3ではウィンドウをまたいでタブをドラッグすると「タブの移動」扱いになるけど、ツリー型タブはまだこれに対応していない。→Tree Style Tab 0.5.2008022402で対応
  • Ctrl-ドラッグでのタブの複製、ウィンドウをまたいだドラッグ&ドロップによるタブの移動について、Multiple Tab Handlerはまだ対応していない(ツリー型タブの方にかまけててすっかり忘れてた)。→Multiple Tab Handler 0.2.2008022402で対応
  • タブのドロップ先がタブバー以外の場合はタブで開いてるページのURIが渡されるんだけど、これも選択されたタブ全部のURIを渡すようにした方がいい? 受け入れ側が複数URIのドロップを想定していない場合は動作がおかしくなる気がする。ああでもHTMLとかプレーンテキストとか、他のアプリケーションやテキスト入力欄に対してのみ渡されるflavourなら問題ないか?

Firefox 3のタブにFirefox 2互換のプレースホルダーを復元するライブラリ作った - Feb 22, 2008

Firefox 3でタブまわりの拡張機能の作りやすさが深刻なまでに低下した問題について、バグを立ててみたものの、余裕で放置食らってて、もう気づいてもらえることに期待するのが間違いなんだなとようやく悟ったので、諦めてFirefox 3のタブの中の要素構造をFirefox 2互換にするライブラリを作った

上記3つのファイルを拡張機能の中に放り込んで、オーバーレイでtabFx2Compatible.xulを読み込ませるだけで使える。ツリー型タブ情報化タブのようにloadイベントのタイミングで初期化をするアドオンであれば、それ以外何も手を加えなくても、Firefox 2のタブを前提にしたコードのままでFirefox 3上で動くようになる。はず。あと、複数のアドオンで異なるバージョンのライブラリが読み込まれた場合は、その中で最新の物を有効にするようにしてある。

Windows用のMinefield Beta3でしか動作確認してない。

というわけでこれを組み込んでツリー型タブ情報化タブを更新した。

セカンドサーチ 0.4.2008021201 - Feb 12, 2008

Second Search更新した。Firefox 3(Beta3)とThunderbird 2に対応。

Thunderbird対応にあたって、全体的にコードに手を入れた。Firefoxだけでしか使わない部分とThunderbirdでしか使わない部分と両方で使う部分の3つにファイルを分割している。似たような構造の物に対してはこれで比較的楽に対応できるようになったんじゃないかと思う。

Firefox 3については、Placesへの対応がメイン。キーワードを設定されたブックマークを検索エンジンと同等に扱うという機能がSecond Searchにはあるんだけど、僕以外にどれだけの人が使ってるんだろう。

あと、「他の検索エンジン」サブメニューのあたりのコードもだいぶ書き直した。この辺はほんとは特に触る予定はなかったんだけど、Organize Search Enginesとの競合の解消も兼ねて、なるべく汎用的になるように変更している。っていうかテストしててなーんかうまく動かないなーと思って不思議だったんだけど、よく調べてみたらOSEの側にSecond Search用のハックが入っててそれが干渉していた。僕のアドオンのためにわざわざハック用のコードを書いてくれるなんて……よくあんなスパゲッティもスパゲッティなコードを解読してくれたもんだなぁ……と嬉しく思ったりもしたけど、このままだとせっかく修正したのがきちんと動いてくれないので、動くようにするパッチを作者の人に送りつけてみたり。

About Tabbrowser Extensions - Feb 04, 2008

Hello, thank you for your mail.

The only problem now is the new version, the old one for Firefox 1.5 is a lot better and right now I prefer having Firefox 1.5 with your old extension instead of using the new one.

Have you thought of making the same as for 1.5? If not, will you do it?

Currently I have no plan to develop an extension same as TBE on Fx 1.5. I suffered from too many bugs which are from options I didn't use, so, I decided to keep developing "TBE3" only on features I really need.

Because I was a student and I had a lot of off-time, I could develop huge software like old TBE. But now I'm one of working people. There is less time and motivation.

Now there are nice projects, Tab Mix Plus and Tab Kit, suites of tabbed browsing features. And, userChrome.js is also available to make people's small requirements reality. Lots of people develop user-scripts for the extension on MozillaZine forum. I hope communities of those extensions help you.

regards,

Page 19/31: « 15 16 17 18 19 20 21 22 23 »

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のコメント

最近のつぶやき