Sponsored Link

Small Talk - 2004-03

TOC of this document:

エントリ

GROYA:2004-03-31

ヤシン師爆殺画像(グロ)を踏んでしまった。おえっぷ。Mozilla版GROYAって需要ありますかね。

MozillaTipsその1

フレームを使ったページではF6を押すとフレーム間で移動できる。まだでてないけど、Alpha7以降のXUL/Migemoを使う際には 覚 えておくとよい、という風になるはず。とくにマウスが使えないとき。

XUL/Migemoのテスト

にわにはにわうらにわにはにわにわとりがいた(庭には二羽裏庭には二羽鶏がいた・庭に埴輪裏庭には二羽鶏がいた)

Alpha7

スクラップ

StedSidebarでは純粋なテキスト(STEDFormatの だけどね)しか扱わないのでこれ以上の拡張のしようがないのだが、メモ鉄と かWeBoXと かみてると拡張してみたくなってきた。ただ、StedSidebarはSTEDFormatで データを保持することに存在意義があるので作るとすれば完全に別物になると思う。

というわけでリサーチ開始だ。

Alpha6:2004-03-30

日本語

Alpha7でMozillaSuiteに正式対応するためにいろいろといじっていたところ、辞書までのpathに日本語があるとうまく読み込めな いんじゃないか説が浮上。いままでそういう報告がないのが不思議だが…ひょっとしてWin9xのみなんだろうか。

クルー!?

今日はハイテンションです。今年度の春季講習が終わった。やれやれだ。また来月一日から始まるわけだが。明後日じゃん。

flysonさんの一月の日記にて HTMLからTextに変換する方法が載っているのを思い出した!まだ分からないがこれで挙動不審なのが解決するか?少なくともscriptは 取り除いてくれるとありがたいのだが。

いま調べてみた。この関数ではscriptは消える。それはいい。だが*がだめ。なんかおかしい。既知の問題にある*や # は〜というのはちゃんと確認したはずだったのだが、いま試してみたらrange.toString()では再現しない。*が出 てこないのだ。うーむ。こうなったらgetInnerText()を 使うしかないのか。スクリプトで処理するのは遅くなりそう なので餘りやりたくないのだが…(SurfbarやXUL/Migemoの製作課程でループの遅さに嫌気がさしたので。作りが甘いと言われればそれまでだ けど。)それともrangeからhtmlの文字列を生成した後にolulliを 取り除けばいいのか。これなら 正規表現 でタグを取り除くことにより実現できそうだ。正規表現は早いですよ。ええ。

つうかStedSidebarをしばらくインスコしていなかったので気付かなかったのだった。自分で作ったものなのに…

クルー!?ソノ2

from http://white.sakura.ne.jp/~piro/latest/2004/03.html#d30

XUL/Migemo のフレーム対応化改造をしていて、

wwヘ√レvv〜(゚∀゚)─wwヘ√レvv〜

その後、メールチェックをしてありがたく頂戴仕りました。いつもすみません。

キャッシュ:2004-03-29

ふと、XUL/Migemoのキャッシュの容量を見てみた。…158KB。k→かきくけこの処理を入れてからかなり増えたような。本家に比べればま だまだましだけど。あと最近時々前触れもなくマシンが2秒ほど固まる謎の症状が出ていて、そのせいで0.5秒もかからないような長い単語もキャッシュに登 録されている。

キャッシュがやたら増える原因はどっちかっていうとdump();にあったようだ。無効にしたら改善した。なんじゃそ りゃ。

Google

変わった。白くてまぶしすぎ。鈴木その子みてえだ。タブがなくなったのは視覚的にありがたくないような。

GELO:2004-03-28

昼夜逆転生活だったのを戻したら平衡感覚がおかしい。気持ち悪い。GELO吐きました。

数時間寝たら気分がよくなったので、なんとなくGoogleを漁りつつ完全回復を待っていたところ、XUL/Migemoのページがキーワード 「Migemo」で5位であることを発見。意外と早かったな。さすがGoogle。2004-03-30現在消えてます。恐らく、

グーグルダンス祭(想像図)

           Ψ      ドンドコ
 ドンドコ     ○ノ  ググル!!
        ノ|へ    ∫
 ∫  Ψ    <  .○ググル!! ヽ○  ググル!!
  ヽ○ノ    _<|_       へ|ヽ
   |へ    |__>_|        >
   <       |    |        ドンドコ
     Ψ  ∫   Ψ   ∫
 ドンドコ ヽ○ノ     ヽ○ノ  ググル!!
       |ヘ       | 
 ググル!! /        < \  ドンドコ
 
ググウレ〜ググウレ〜♪
ググウレ〜♪
(ドンドコ ドンドコ ドンドコ ドンドコ…)

…なのでしょう。その後なぜか復活してますが。

Piroさんからタイムアウトの処理のコードをいただいた。Alpha6でマージさせます。どうもありがとうございます。

挙動不審:2004-03-27

ときどきF4がうまく働かないようだ。ひとつ修正入れるだけでよかったけど。

Alpha5:2004-03-26

Alpha5になりました。変更点は次の通りです。

XUL/Migemo Alpha4.1、Seamonkey暫定対応:2004-03-25

現在のFirefox用設定パネルを無理やりそのまま組み込んだのでボタンが不恰好ですが一応使えることは使えます。「Advanced」に XUL/Migemoの項が出現します。OKボタンが二つありますが上のほう押したあとに下押せばなんとかなる。多分。見た目は気にしない!(アンインス トール機能未搭載なので自分で復旧できる自信のあるSeamonkeyユーザのみインスコしてください)

Alpha4:2004-03-24

Alpha4の変更点は次の通りです。

Wikiのtextarea:2004-03-23

Wikiを編集しているとtextareaを使わざるを得ないわけですが、でかいページになると編集する個所を見つける のが非常に面倒くさい。見出しへ移動とか検索とかできたらいいのに。たまにHTMLAreaを使ったWeblog入力フォームとかあるけどあれのような感 じで(ulのときは自動的に*を補完するなど)入力できるtextareaとかあったらおもしろそう。textareaを 拡張するのはちょっと難しいかもなのでWiki用XULアプリとかどうだろう。いやまてよ、-moz-binding使えば ひょっとして…

検索はできそう

なるほど、tbox.setSelectionRange (うんぬん,かんぬん);ね。XUL/Migemoが一段落したらhackしてみよう。

Migemoすげー

実は自分自身ではXUL/Migemoをあまり活用しておらずFindAsYouTypeを自分で実装したものを使っているような雰囲気だったので すが、「scroll」で検索したところ「スクロール」もひっかかって、WOW!と思いました。こりゃ誰だってMozillaで使いたくなりますよね。

XULの覚え方

現在XULのチュートリアルというとXULPlanetのもの などがありますが、僕自身はVB厨時代から人様のアプリやサンプルソースを改造することで覚えてきた人なので、そういうひとには改造推奨のテンプレみたい なアプリを大量に提供すると親切なのではと思った。…ってよく考えてみるとこのサイトは最初はそういうつもりで開設したものだったのだ。XULのページに その痕跡が。テンプレねぇ。サイドバーと設定パネルのサンプル作ったきりだ。

XUL/Migemo ToDo:2004-03-22

k→「かきくけこ」は意外と面倒くさいので頭がクリアなときに。

追記:キー

Esc/Enterで検索項目をクリアするようにして、Spaceでスクロー ルできるようにした。BackSpaceあたりの挙動も改善したかもし れない。自動スタートと「/」を押してからスタートの切り替えの設定ができるようになったらAlpha3Alpha4としよう。(ここら辺は某スレ (Firefoxスレ9)で出た ことですね。どうもありがとうございます。)

やべ

ゲイツOSのことしか考えてなかった…他のOSでは辞書が読み込まれない恐れが。それもそのはず、aFile.initWithPath (設定から読み込んだパス+"\\"+云々)だもんなぁ。こう言う個所ではappendで すよ旦那。やっぱこういうところに素人さが出てしまうのだな。

先人

XUL/Migemoの基本的なアイディアとまったく同じレスがMozilla スレッドM12(136)で既に出ていたのを発見。僕がMozillaを使い始めたのは0.9.8、このスレを見るはずもなく。 Moz1.0RC3あたりで一度IEに戻ってるし。ちなみにPhoenixでMozilla系にカムバックしたクチです。

Alpha3

Alpha3になりました。Alpha3では/を押してからの検索をサポートしたかったのですがちょっとした修正が自分でも オオっと思ったので今のバージョンをAlpha3とします。変更点は上記にもありますが整理すると

また新たに発覚したバグは

しまったー!

Frameで検索できない!これは致命的だ!Googleの野郎め!Frameset消えrf、gkjbsflktghをr

…というわけでToDoに追加ですね。これは大改造がいるので後回しになりそう。ごめんなさい。

ちょこっと修正:2004-03-21

Alpha2リリース。[undefined]|undefined問題は多分解決したはず。

Hack,Hack,Hack!:2004-03-20

FindAsYouType化に着手。辞書ファイル設定ダイアログ追加。暫定的な「次を検索」のキーはF4。これまでのところうまくいっているよう にもみえる。今日明日あたりにAlpha1を公開したい。

SoundExt

音設定に関する拡張も作るかもしれないことを豫告してしまった手前くずプログラムを作ってみたのだが音のサンプルが悪かったのかページをロードする たびにうるさくてたまらない。

XUL/Migemo

XUL/MigemoのReadme案:

  1. このXULプログラムはXUL/Migemo0.1Alpha1です。
  2. Firefoxで動作することを確認しています。
  3. このプログラムはNetscape6PR1品質以下(wです。
  4. ですのでよーしパパインスコしちゃうぞーとxpiをクリック→再起動→クラッシュとなっても知りません。拡張の性質が性質ですからブラウザが 起動しなくなることもありえます。
  5. 現在確認されているバグ
    1. 本物のバグ
      1. display:noneされている要素があると挙動不審になる
      2. 同様に*や#の検索がおかしくなる
      3. ヘルプウィンドウなどでは使えない
    2. 面倒くさいだけで直す方法はわかっているもの
      1. FindAsYouTypeが使えなくなる
      2. k→[かきくけこっ]のような展開 処理が入っ ていない
      3. 後方検索がない
      4. Spaceでスクロールしなくな る。他にも使 えなくなるキーがたくさんある豫感。
  6. このコードは後々大幅に変更するつもりです。
  7. 辞書ファイルはC/Migemoのものをパクっているのですが大丈夫なんでしょうか…
  8. 同様に設定パネルはjsActionsのコードをパクっているのですが…問題があったら自作のに差し替えますのでご連絡下さい…
  9. さらにさらにローマ字→ひらがな変換ルーチンもパクリです…

とまあ酷い代物なので一通り気分を味わったら拡張を無効にすることを強くお勧めします。

本物のバグ追加

キャッシュに難あり。ときどき[undefined]|undefinedで検索されてしまう。妙だな。

マンドクセ→キタ:2004-03-19

悪いニュース。昨日のバグはまあ文章を訂正した通りなのだが、どうやって修正しようか。Rangeをコピってscriptだ のstyleだのを削除すればうまくいくだろうか。つかよく考えてみるとdisplay:noneさ れている要素があるとややこしいことになる豫感。(多分scriptなどは内部ではdisplay:noneし ているはず) 面倒だ。nsISelectionのコードに解決策があることを祈ろう。

さて、こっちは良いニュース。FindAsYouType化の実験が成功しました。Piroさんありがとうございます。あとはコードをきれいに書き なおして(実験コードが大量に残っているのでほぼ全面書き直し)、リンクにヒットした場合にフォーカスを移すのと、メモリキャッシュを実装すれば公開でき そう。

ああ、M$-IMEuzeeeeeeeeeeeeeeまたとんちんかんな変換しやがった。

詰め

メモリキャッシュはBackSpaceがもたつくのを解消するために入れただけなので起動時にはロードしないことにした。苦 情が出るようなら変更するってことで。

バグ:2004-03-18

バグをひとつ発見。<script><style>中 のコメントの中の文字列も検索してしまうので挙動不審になる。toString()したときに<!--aaa-->の ようなコメントもテキストに含まれてしまうことが原因のようだ。

いいかげんk→[かきくけこっ]を実装しなくては。

BackSpaceを押したときにもたつく。メモリキャッシュいるのかな。まあ今育っているキャッシュ,pそんなに大きくないから(辞書よりはるか に小さい)起動時に読み込んでしまってもいいかも。

ところでみなさん僕の文章は日本語になってますか。後から見返して意味不明になっていないか心配なのですが。

ダイアログ:2004-03-17

いまいちFindAsYouTypeの機構が分からないので替わりにダイアログを作ってみた。

「jitta」で「実態」が検索できている。

この状態でもほしい人いますか。

現在の制限

記号が入力されたときにサニタイズする処理が要るなぁ

キタ

LOG [WEB ARCHIVES]よ り。

Javascript から別スレッドを作成するには、nsiTimer しかないのかな。

あとでSurfBarに使えるか試してみよう。あれが開いたままになっているとどうにも重くて。

FindAsYouType化にはどうしたらよい?:2004-03-16

かなり雑だがキャッシュはだいたいOK。(その雑な部分が結構問題だったりするけど。)速度的にもほぼ問題なさそうだ。これまでにできたキャッシュ のサイズは35KB。まだ辞書に濁音の行(が、ざ、だ、ば、ぱ)やアルファベットを入れていないのでもうちょっと増えるだろうがそんなに場所とることはな いだろう。

で、FindAsYouTypeがどうやってwindowのイベントリスナを登録しているかはわかりかけてるのだけれど、いつどこでそれをやってい るのかがわからない。だれかわかりませんか。

たった今、今の実装の困った仕様がわかった。RangeをtoString()するとき、olulが 含まれていると丸ポチや数字が*とか#になってしまう。というわけで*や#は検索できなくするかも。対処できればいいんですけど僕にはどうしようもありま せん。

1秒:2004-03-15

キャッシュの原型ができた。正規表現の生成に1秒以上かかった場合はキャッシュするようになった。「か、き、く、け、こ、かく」をキャッシュしたと こ ろ6.81KBに。これを多いと見るか、適当と見るか。(ちなみにmigemo本家についてきたキャッシュらしきファイルは478KBだった。)少し使い こんで様子を見たい。

あれ、最近ここに書くときの文体が変わっている。

キャッシュ:2004-03-14

検索の方は一段落ついたのでキャッシュ実装に入ります。これがないとやはりきつい。

nsIFind:2004-03-13

migemoもどきでnsIWebBrowserFindを使っていたのをnsIFindに変えた。bodyContent = bodyNode.QueryInterface(Components.interfaces.nsIContent);がどうしてもで きないので別な方法で逃げた。もしかしたら手順が間違っていたのかもしれない。

FindAsYouTypeを乗っ取るのはどうしたらよいのかをそろそろ考えなければ。

名前はどうしよう。XUL/migemoでいいですか。動作がかなり違うのでmigemoを名乗るのは気が引けるんですが。(C/Migemoを使ったXULアプリが出てくると厄介。) JS/migemoの方が安全かなぁ。

FindAsYouTypeを乗っ取る方法がわからん。ど う すんべ。

高速化(悪あがき):2004-03-12

1秒だけ「な」の検索が早くなった。短い文字の検索はMigemoのようにキャッシュを使うようにすれば何の問題もないのはわかってますが、まあ早 いに越したことはないですから。

ただ、一番候補の多い「か行」の検索はまだまだ遅い。14秒もかかる。

追記

やっとまともな検索ができるようになった。

不具合がたくさんありそうな豫感(つうかたくさんある)だが、ここまでこぎつけた。実験的には成功といってよいかな。この調子で行けばmigemoな ものは作れそう。

ローマ字検索進捗状況:2004-03-11

キーワード「な」でページ内検索っぽいことをしてみる。

だいたい五秒かかる。(ちなみにunkoはほぼ一瞬になった)とりあえず今までやったこと。

さて、次はwebBrowserFindを使ってページ内検索すればとりあえずできるのかな。速度はともかくとして。

migemoではない、ローマ字検索也:2004-03-10

某スレ (Firefoxスレ8)で 出たmigemoの話題。nsIFindで正規表現を使えるようにするのが筋だとは思うけど、現状純粋なXULでどこまで出来るか興味があるのでローマ字 検索っぽいものを途中まで作ってみた。(Type Ahead Findみたいにする気力はない)

「unko」で検索して言葉を拾ってみる。まだ整理する処理は書いてない。

スクリプトは切り張り&改造という素敵なブツ。辞書はC/Migemoか らかっぱらってきた。やはり素の辞書(2.78MB)+XULではどうしても遅い。「unko」で約1.5秒。うちの今となっては低スペックのマシン (PCG-XR1G)ではキツイ。(メモリは192MBに増やしてある。)辞書をうまいこと分解すればいいかな。正規表現を短くする処理はまたあ とで。

で、一番の問題はどうやってページ内を検索するかなのだけど、

  1. Body内をdocument.createRange().selectNodeContents(document.body)て な具合で取得
  2. toString()しておく
  3. 正規表現生成
  4. toString()しておいたテキストを3.の正規表現で検索
  5. 4.でヒットしたキーワードでページ内検索
  6. タイプされるたびに3〜5繰り返し

とかどうでしょ。素人の妄言なので突っ込みどころ満載だとは思うけど。

Composerでリストを書くときネストしたい:2004-03-03

Ender HTML Typing Rulesより。ULとかOLとかを書くときネストしたくても最近までやり方を知らなかったのでメモ。単にtabキーを押せばよろしい。もしかし て常識か。

Gimp:2004-03-01

Gimpではメニューの上をクリックするとメニューがウィンドウになります。

Mozillaのブックマークツールバーのメニューの上でGimpと同じ事ができたら良いんですけどね。

Surfbar

なんかMozillaZineFxまとめサイトとOpera7.23の画面を見てたら需要がありそうなので再開しようかな。

Nvu

0.17が出ていたので使ってみた。前からそう なのかは知らないけどDL,DT,DDあたりの動作がComposer に比べてはるかに素直。うちで作っているブツは当然Composer同等のコンポーネントを使うのでうらやましい。XULレベルで対応できればよいのだけ ど。子供だましレベルなら可能かもしれない。

NvuではExtensionをサポートするのだろうか。もしそうなら真っ先にやりたい。

Contents

作成者:plus7 メール最終更新:2004-04-19