たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。
以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
分割ブラウザで、分割した領域を移動したりFirefoxを起動・終了したりした時にフォームの入力内容が失われるのが地味に不便、っていうかそこまで含めて完璧に再現するFx 2デフォルトのセッション復元機能がよくできてるっていう話なんだけど、とにかく、その処理を参考にして分割ブラウザ内のフォームの入力内容やスクロール位置も保存・復元できるようにしてみた。
nsSessionStore.jsではユーザの入力を常時監視してるんだけど、これはクラッシュからの復帰のためのもので、分割ブラウザでは起動時と終了時と分割領域を移動する時にしか情報を保存しないから、そこだけ手抜きしてる。
一カ所、フォームの内容を取得できなくてそこでハマッてしまった。XPCNativeWrapperでラッピングされたHTMLの要素ノードは、value
プロパティを参照しても入力内容を返してくれないのか……知らんかったよ。仕方がないのでちょっと怖いけどwrappedJSObject
を参照するようにしたところ、正常に動くようになった。
新バージョンのファイルをアップロードした後「さてアップロードし忘れはないかな」と思って一覧を眺めてみたら「Pending Review」になってる奴の数が一個少なくて「んんんんんん?」と思ってよく見てみたら、タブカタログがアップロードした直後に速攻で承認されて「Public」になっていた。
30秒くらいしか経ってない気がするんだけど……ほんとにちゃんとレビューされてるのか?
分割ブラウザに、Webページ内のスクリプトから任意の方向に表示領域を分割するAPIを加えた。
今回、最終的に「スクリプトを実行しているページのドキュメントのルート要素に属性値を設定することで挙動を制御する」というあんまりスマートでない仕様に落ち着いたんだけど、これは結構苦肉の策というか、本来やりたかったものとは違う形のソリューションになってしまっている。
そもそもなんでこういう機能(?)を加えたかというと、Stylishという拡張機能の作者さんから「そういうAPIを作ったらどうかね」という意見を頂いたからだ。
dragdropupload。<input type="file" />な入力フォームへファイルをドラッグ&ドロップしたら、そのファイルのパスをフォームに入力してくれるというもの。地味に便利だ。
……っていうかこういうことは標準で実装しとくべきものなんじゃないのか?
TBEの機能を完全に代替できる拡張機能について、すでにある物は再発明しない方向性で、ちょこちょこ探してるんだけど。
ブックマークに文字のズーム状態を記憶させておく機能については、Content Preferencesがイイ感じに使えるっぽい。ブックマークなどからの読み込みでも問題なく設定を復元してくれる。
やるかどうかは分からないけど、タブのロック状態とかを記憶させるのもこの拡張機能に対する拡張で実現できないかな? もしかしたらTab Mix Plusはすでにそういう機能を持ってるんだろうか。
Snap Links面白い。選択範囲のリンクをタブで開く系の拡張機能はいくつもあるけど、これは複数リンクを矩形選択できるという所が他から一歩抜きん出てる。例えばmixiのマイミク日記一覧だと、普通に範囲選択すると「日記本文へのリンク」「JavaScriptのリンク」「日記本文へのリンク」……という風に余計なリンクまで選択されてしまって、範囲内のリンクをタブで開くと無駄なタブが開かれてしまうんだけど、こいつなら、必要なリンクだけを選ぶことができる。
使い方の解説はPOP * POPの記事が詳しい。
どうやってリンク抽出してるんだ?
追記。ソース見てみたら、document.linksをループ回して見てるだけっぽい。
Debugmode Winkで、サムネイル上でのブラウズ操作の様子の動画を作ってみた。
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0" height="314" width="356"> <param name="movie" value="/xul/_video/tabcatalog_browser.swf"> <param name="play" value="false"> <param name="loop" value="false"> <param name="quality" value="low"> <embed src="/xul/_video/tabcatalog_browser.swf" quality="low" loop="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash" height="314" width="356"> </object>
このあたりの成果は本当にGomitaさんのTab Scopeからのそのまんま引き写しなんだけども。
第2回拡張機能勉強会でTab Scopeのプロトタイプを見てから、公開されたらぜひタブカタログでこの機能を使わせてもらおうと思っていて、気がついたら公開されてたので早速見てみたんだけども、他の拡張機能とかで機能を利用できるような設計になってなかったので、仕方ないから関係してるコードをコピペしてタブカタログに仕込んでみた。
ただ、画像を含むリンクで画像の前後に改行があったりすると上手くいかなかったので、そこだけ手を加えた。
分割ブラウザを更新した。機能的には目新しい変化はなくて、じゃあ何が変わったのかというと、機能の見せ方。「ブラウズ領域を分割する」というメンタルモデルだけでなく、「タブブラウズのタブをひっぺがして横に貼り付ける」という風なメンタルモデルで利用できるようなメニュー項目を加えてみた。それが「横に並べる」と「縦に並べる」という物。また、「分割されたブラウズ領域をタブブラウザのタブにまとめる」機能も同時に加えた。これを使うことで、あたかもOperaでタブ表示とタイル表示を切り替えるかのような感覚で使えるようになる……といいなあ、という目論見だ。
また、マルチプルタブハンドラのAPIのデモンストレーションも兼ねて、こいつとも連携して動くようにした。全部のタブではなくて一部のタブだけタブブラウザから切り離して横に並べる、とかそんな事ができるようになる。
追記。めんどくさくてスルーしてたけど、タブの数から水平・垂直方向の分割数を割り出してほんとにタイル状に配置する機能も実装した。これでようやく、実用的なレベルになったんじゃないだろうか。
この歳になってくると、同じフィールドで自分より年下の人と出会うことは珍しくなくなってくる。
10代であれこれやってる人は珍しくても、20代であれこれやってるひとは全然珍しくない。「若くて凄い人」は、本当に年が若くて物凄く実力がある人も多いんだろうけれども、そう評される人の中の一部は確実に、単に早熟なだけなんだろう。大人になってからしはじめるはずの事をちょっと早めに始めてしまっただけで、他の人も大人になってくれば、差が全然なくなる。
差がなくなるだけで終わらず、追い抜かれてしまった場合は、もっと悲惨だ。早熟なだけなのに、相対的に現時点で「凄い」だけでしかないのに、「自分は永続的に絶対的に凄い」と勘違いしてしまって、それ以上自分を磨くことを怠ってしまったら。気がついたら後から来た人にガンガン抜かれていって、もう追い付くことなんかできなくなってしまっていたりする。
そして、今の地位を守ることだけに固執するようになる。後から来て自分を追い抜いていく人達を見て、ただひたすら妬むばかり。
分不相応に肥大化してしまった自尊心、いや、もはやただの見栄でしかないそれを、小さく削るしかないと分かっていても、削れない。削る痛みに耐えられない。ヤスリで皮膚をごりごり擦るような鈍く長い痛みに耐えられない。
削る痛みに耐えられないから、まるごと捨てる。根っこから引き抜いて全部捨ててしまう。プライドのかけらもない人間、いっちょあがり。
でも肥大化した自尊心が上に乗っかってる状態がいままでデフォになってしまっていたから、またすぐに自尊心が元の大きさまでふくれあがってしまう。
まったく、始末に終えない。