«前の日記(2009-04-04 [土]) 最新 次の日記(2009-04-28 [火])» 編集
RSS: href="http://endoh-namazu.tierra.ne.jp/diary/index.rdf"


半期 四半期 全カテゴリ

新・なまず日記


2009-04-21 [火]

_ [xfumble] 4月の進捗



4/1(水):popupウインドウabortブロック動作確認
4/2(木):キーマクロイベントハンドリング書き換え
4/3(金):新しいpopupハンドリングとキーマクロの結合
4/4(土):キーマクロデバッグ、テスト
4/5(日):キーマクロデバッグ、テスト
4/6(月):focus_out問題あたり付け
4/7(火):focus_out問題対処、デバッグ、type_trace系デバッグ
4/8(水):keyのタイムスタンプ処理見直し
4/9(木):ステートブロック見直し(emacsグラブ問題の対処)
4/10(金):キーマクロタイムアウト時のretry検討
4/11(土):最新anyプレスイベント参照、追加モディファィアキー見直し
4/12(日):キーイベント送信系再検討
4/13(月):キーイベント系コード修正、CVS登録
4/14(火):viの数引数による繰り返し、ピリオド等の実装方法の検討
4/15(水):vi.xmlに、これまでの修正を反映
4/16(木):ステートブロック見直しに伴う、vi.xmlのrule並べ替え
4/17(金):vi.xmlのrule並べ替え、テスト
4/18(土):vi.xmlに繰り返し実装、テスト
4/19(日):vi.xmlにピリオド実装、テスト
4/20(月):数引数がついて実行されたコマンドのピリオドによる再生実装、テスト
4/21(火):数引数がついて実行されたコマンドのピリオドによる再生のデバッグ


Emacsっぽいキーバインドにおける、マクロ定義、数引数による繰り返しは、大体終了した。自分で言うのもなんだけど、オモシロイよ。

例えば、Thunderbird(メールソフト)の個々のメールを、任意のファイル名で保存したい、なんてことを考えたとする。そこで、OpenOffice Calc(excelみたいな奴)に、ファイル名を書いておく。さて、ここからがxfumbleの出番。Emacsライクに、まず、Calcで、Ctrl-x "("でマクロの開始を宣言して、Calcのセルをコピー、セルの選択をひとつ下に動かす。そこでAlt-TabでThunderbirdに移り、選択されてるメールに対して、さっきコピーしたファイル名でセーブ。メールの選択をひとつ下に動かして、Alt-TabでCalcに戻る。はい、ここで、Ctrl-x ")"で、マクロ定義完了。
あとは、Escape 10 Ctrl-x eで、「マクロの再生」の10回繰り返し。キーボードに触れることなく、さっきのメールの保存動作を10回繰り返してくれる。自動実行!自分で言うのもなんだけど、xfumbleは魔法使いだぜ!


で、今は、viライクなコンフィギュレーションに、ピリオドによる編集コマンドの再実行と、数引数によるコマンド繰り返しを実装するべく努力している。viのピリオドは本当に良くできていて、数引数を付けてで編集コマンドを実行すると、数引数がついていたことを覚えていて、一回のピリオドで、編集コマンドをちゃんと繰り返してくれる。その状態で、さらに数引数を付けると、さっきの数引数が上書きされるんだよな。うへぇ、なんて複雑なんだ。


こいつを、rubyで書くんじゃなくって、xfumbleの「部品」(ブロックって言います)をxmlで組み合わせて実現するんだけど、これがややこしくてね。結構苦労してます。


今週中にviのカタをつけて、土日で、xfumble専用のwebページを作って、tarballで現状をリリースしようと思います。
[]