Home > Latest topics

Latest topics 近況報告

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

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

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

Page 9/245: « 5 6 7 8 9 10 11 12 13 »

年末~年始 - Jan 08, 2008

NEW YEAR 2008
新年が明けてだいぶ経ってもうすっかり正月気分も抜けきった頃かと思いますが、ひっそりと年賀絵のような物を公開しておきます。というか喪中なので寒中お見舞い申し上げますなのですけれども。

ちなみに、冬コミのポストカード用の描き下ろし絵とかかも2日付で公開したので、先の絵の高解像度版も併せて見たい方はギャラリーへどうぞ。

とりあえず冬コミの時の話からいきましょうか。

続きを表示する ...

Moezilla Suite、もとい、Moezilla Sweet - Dec 13, 2007

どうにかフルカラー表紙の印刷〆切に入稿が間に合ったので、もえじら組トップを色々更新しました。

今回出す本は、2005年冬コミから2007夏コミまでの間に発表したPiro作品の再録本です。何でも入ってるSuiteにちなんで?、名前は「Moezilla Sweet!」としました。 (表紙) 内容自体は変わってませんが、初出時にトーンを貼る時間が無くて真っ白けだったのがマシになってるとかそういう程度の修正はしてますっていうか今まさに作業を進めております。

分量はもえじら組で最初に出した合同誌と同じ80ページで、印刷部数は300部です。前回はコピー本の新刊が150部出たので、同じだけはければ半数は通販に回せるかなという算段ですが、もう前に読んだからイラネって人が結構いそうだなということを考えると発注しすぎたかもしれません。在庫の山で死んでる姿が目に浮かびます。

あと、再版を望む声がちらほら聞こえてくる最初の合同誌ですが、権利関係の事もあるし在庫を抱えるのもアレだしってことで、PDFかなんかの形式でぱーっと公開しちゃえないかなーとか妄想してます。ほら、まあ、あれは、お祭りみたいなもんだったし。

ところで、表紙絵は線画だけで4時間、彩色で5〜6時間(表紙としての加工にはその後さらに4時間くらい)ってところですか……1枚描くのに平均10時間くらいというのが僕のペースのようです。ニコ動の「描いてみた」系のやつはあんまり見てないのでよく知りませんが、みなさんもっと描き慣れてて速かったりするんでしょうか? しかし中身はエロ本なのに全然表紙がエロくないので売れ行きが心配です。あまりに健全すぎるので、もうヤケクソで、今までいぬねさんのふぉくす子絵を使ってたバナーやもえじら組トップをこれに差し替えてみました。むしゃくしゃしてやった。後悔はしていない。

タブブラウザ拡張3 - Dec 06, 2007

TBEのページのトップを刷新して、古い情報は別のページに移動した。どれだけの人がこのページを今も利用してるのかは微妙な所だけど、Firefox 2向けの情報が注意書きとしてだけ入ってるというのは現状からするとあまりよくないので。

APIを作る時はどんな使われ方をするかちゃんと考えてから作ろうという話 - Nov 30, 2007

ツリー型タブでずっと前から発生条件が分からなくて困ってた「一つもタブが選択されていない状態」になってしまうバグの原因がやっと分かったので、速攻で修正した。

この問題は、以下の条件がすべて揃った時に発生していた。

  • タブバーの末尾に、ツリー状になったタブがある
  • そのツリーが折り畳まれた状態で、ツリーの最上位の親のタブが選択されている
  • そのタブを閉じる操作を行う

この時、内部的にどういう処理が行われていたかというと、以下のような感じだ。

  1. removeTabメソッドが呼ばれる
  2. removeTabメソッドにてTabCloseイベントが発生
  3. TreeStyleTabBrowserのインスタンスがTabCloseイベントを捕捉
  4. 1で閉じられようとしているタブがツリーの親で且つ子孫タブが折り畳まれている場合、TreeStyleTabBrowserが子孫タブを先に閉じる
  5. TreeStyleTabBrowserのTabCloseイベントに対する処理が完了
  6. removeTabメソッドの残りの部分に制御が戻る
  7. 閉じようとしているタブが、選択されたタブだった場合、次に選択するべきタブを決定し、そのタブを選択する
  8. removeTabメソッドの処理が完了

この「TabCloseイベント」というのがFirefox 2以降で使えるAPIなんだけれども、問題は7のステップで起こっていた。7のステップで「次に選択するべきタブ」を決定するためのキーとして「現在開いているタブの総数」を使っているのだけれども、その値は1のステップの間に取得しているため、1から7までの間のどこかでタブの数が増減した場合、タブの選択状態が狂ってしまうのである。7のステップで「現在のタブまたはそれよりあとのタブ」が選択される場合、ここでは4のステップでタブの数が減少しているため、「次に選択するタブの番号」が「すでに削除されたタブ」のインデックスを指し示すことになり、selectedTabの値がundefinedとなりNull Pointer Errorが発生してしまう。……というのが事の真相だった。

ツリー型タブの側でselectedTabのセッタを上書きし、もし存在しないタブが選択されそうになった時は強制的に最後のタブを選択するようにしたところ、「一つもタブが選択されていない状態」は発生しなくなった。以下はそのためのコード。

// var b = gBrowser

var getter = b.__lookupGetter__('selectedTab');
var setter = b.__lookupSetter__('selectedTab');
eval('setter = '+setter.toSource().replace(
    '{',
    '{ if (!val) val = this.mTabContainer.lastChild;'
));
b.__defineGetter__('selectedTab', getter);
b.__defineSetter__('selectedTab', setter);

この部分ではなく、removeTabメソッドを上書きするという手もあるんだけど、ここはいろんなアドオンが上書きしたがるためコンフリクトの原因になると思ったので、「標準的な動作と変わってしまう」ことは仕方がないと割り切って、ほとんど誰も触らないであろうselectedTabの方を上書きするようにした。ちなみに、ゲッタとセッタ両方を定義し直しているのは、片方だけを再定義するともう片方が未定義になってしまうから。

表題の件に流れを戻すと、「タブを閉じる」という操作をイベントとして捕捉できるようにしたのなら、そのイベントをトリガーにして他のタブを連動して操作するという機能も当然登場してくるわけで、そういうことを考慮せずに「はいはいイベント発行すりゃいいんだろdispatchEvent っと!」と適当に設計してしまうとこういうトラブルが起こるので、APIを作る時にはもうちょっと慎重になった方がいいよね、という教訓を得たという話なのでした。

ツリー型タブとTab Mix Plus - Nov 13, 2007

需要がどれだけあるか分からんけど、ツリー型タブをTab Mix Plusと同時に使えるようにしてみた。といっても左右にタブバーを表示した場合限定で、それ以外の場合については全然まったく動作確認を行っていないので要注意。とりあえず多段タブの設定になってる時はそれを自動的にキャンセルするようにはしてあるけど、TMPの設定次第ではグッチャグチャになる可能性もある。

TMPによって改変された後のDOMツリーは旧TBEを思わせる混沌とした有り様で、解析するのにえらく骨が折れた……

巻き戻し/早送りボタンにAutoPagerizeのSiteInfoをインポートする機能を加えてみた - Nov 05, 2007

表題の通り。やらなきゃいけないことが他にあるのに放っぽって巻き戻し/早送りボタンをいじっていました。

Rewind/Fastforward Buttonsは現在自分でも使ってる奴の中では最も初期の頃に書いたコードがそのまま残ってるアドオンの一つで、機能を加えるとかバグを直すだとかをやろうにもやる気が萎えるような作りだったので、長年放置してたんだけれども、現実逃避を兼ねて、ワリと最近作ったアドオンと似たようなスタイルになるようにコードを全面的に書き直したのですが、それだけじゃナンだったので、これまた前々から課題として残っていたAutoPagerizeのSiteInfoの自動インポートも実装してみました。

Wikiには次のページへのリンクの検出ルール(nextLink)しか書かれていないのですが、巻き戻し/早送りボタンは前のページへのリンクに対しても処理を行えるように作ってあるし、他のユーザースクリプトなりアドオンなりで前のページへのリンクの情報を使うような物もあるかもしれないし、ということでSiteInfoには前のページへのリンクの検出ルール(prevLink)も含めてもらえると主に僕が嬉しいです。でもそれだけのために圧倒的多数のAutoPagerizeユーザの人にとってはまったくゴミにしかならない情報をWikiに掲載してもらうというのはAutoPagerizeユーザの反感を買いそうな気もします。

自前で専用Wikiを立てるしかないのでしょうか……

戻る/進むサムネイル - Nov 03, 2007

途中まで作ってた奴をもう少し作り込んで、正式版としました。

表示するサムネイルはローカルに保存しています。前後のページのサムネイルを表示する方法には色々やり方がありそうなんだけど、とりあえず一番作るのが楽そうな方法(記憶領域を無駄遣いする代わりに、確実に動作して、トラブルも起こりにくい)を選びました。

ちなみに最初はキャッシュと同様にサムネイルを一つ一つ画像ファイルとして保存するように作ってたんだけど、サムネイルが溜まってきた時に要らないやつを削除する処理について、効率的にやれる方法を思いつけなかったので、思い切ってMozStorage(SQLite)に手を出してみました。画像はdata: URL形式の文字列としてプロファイル内のbfthumbnail.sqliteに格納されます。SQLのことはよくわからんのでFirefox内のコード等を見ながら見よう見まねで書いてみたんですが、一応動いてるみたいなので大丈夫なのかな、と。

タブブラウザ拡張3 - Oct 27, 2007

タブブラウザ拡張3を公開しました。

……といっても実際にタブブラウザ拡張のバージョン3を作ったわけではなくて、情報化タブマルチプルタブハンドラツリー型タブソース表示タブ以前訳したマルチアイテムパッケージの作り方のまんまで一つにパッケージングしただけですハイ。「TBE3」をインスコすると上記4つのアドオンがアドオンマネージャに普通に並びます。

まあ、色々要望等はあると思うけど、僕にとってはこれだけ揃ってたら「TBE3」と名前を付けてもべつにいっかなーと思えている、僕にとっての「タブブラウザ拡張」の「他では替えが効かないもの」はこういう事かな、という感じです。

僕自身はこれに加えて以下のアドオンを組み合わせて、旧TBEで使ってた操作感をなるべく再現して使ってる。

  • Undo Closed Tabs Button:閉じたタブを一覧からすぐに開き直せるように。(複数のセッションの管理は実際の所あんまり使ってなかったんで……セッション管理もしたい人はSession Managerあたりをどうぞ)
  • Tab Clicking Options:タブバー上でのダブルクリックで新規タブ、タブバー上での中クリックで閉じたタブを復元、という操作をするため。それ以外の機能は使ってない。
  • Adaptiva Referer Remover:127.0.0.1とかlocalhostとかからのリファラ送信をカットするために。

逆に、TBEが持ってた機能で今の環境(他のアドオンとの組み合わせも含めて)に欠けてるのは、タブの複数行表示、タブの色分け、フォーカスの詳細な制御、タブのロック、自動リロード、別サイトへのリンクを常に新規タブで開く(別サイトへのリンクをタブで開く機能はツリー型タブ 0.3.2007102902に実装した)リファラの送信禁止(Adaptiva Referer Removerで代用可能)、JavaScript・Cookie・Refreshによる自動リロード・プラグイン・画像表示それぞれのタブごとの有効無効の設定、それらの情報をブックマークに保存する、といった機能か。

また後で改めて書くけど、タブブラウザ拡張いっこのためにOSのアップグレードすら半年以上(Firefox 2リリースの時から数えれば1年近く)できずにいたので、ついにここまで来たかぁ、と感無量です。

なお、TBE3に含まれている4つのアドオンはどれも一応最近のMinefieldで動作確認はしてるので、次のFirefoxメジャーアップデートの時には今回よりはすんなり移行できるんじゃないかなと思ってる。まあまだUIまわりが(特にタブが)色々変わる可能性はあるようなので安心はできないけど。

全部セキュア(と思われる)サーバに移動した - Sep 05, 2007

Firefox 3でセキュアじゃない拡張機能はまるっきり使えなくなってしまうということで、須藤さんにお願いしてCOZMIXNGのスペース上にファイル群を移動させてもらった。配布ページからのリンクは変化がないように見えるけど、実際に辿るとリダイレクトでCOZMIXNGのファイルに飛ばすようになってる。あと、現在上がってる拡張機能については全部updateURLを書き換えた。

Page 9/245: « 5 6 7 8 9 10 11 12 13 »

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のつぶやき