ファイラのダイアログでかくならんか

先日よりランチャ兼コンソールは NYACUS 一色となってPC人生のスムース感が増したわたしくですが、そうなると逆に気になってくるのが常用ファイラであるところの xyzzy ファイラであってどうも僕の設定ではスムースでない感じ。

そう、何はなくとも、ファイラから Shift-J した時でてくる、「ディレクトリ移動」ダイアログ、これが若干ちっさい!。Windows男の端くれとして僕はデスクトップやらマイドキュメントやらというところに usr/home なドキュメント系ファイルを置きまくるので、この便利な「ディレクトリ移動」ダイアログ(移動したディレクトリをこんもり覚えておいてくれる)が、次のような狭さに!

C:/Documents and Settings/oogat
C:/Documents and Settings/oogat
C:/Documents and Settings/oogat
C:/Documents and Settings/oogat
C:/Documents and Settings/oogat
C:/Documents and Settings/oogat
C:/Documents and Settings/oogat
(以下略)

狭い!。意味が分からない!。これではどれがあの仕事でどれがこの仕事なのか一度移動すると不明すぎるということで、ダイアログをぐいっと広げてみることにした。

filer.l

xyzzy で「なんとかならんか」と思った瞬間とはすなわち Lisp の元ファイルを開く瞬間であるので、ファイラのコードであろう filer.l をかっぴらくと、 Shift-J が呼び出していたのはfiler-jump-directoryという関数でした。

さらにここで動揺せずにゆったりと周囲を見渡すと、filer-jump-directory-dialog-templateという変数が定義されていて、中身には怪しげな四つの数字の羅列が。曇り無きまなこで見つめると、どうやらこの数字、(top, left, width, height)っぽいので、もう直接 filer.l を編集してみた。

(defvar *filer-jump-directory-dialog-template*
  '(dialog 0 0 419 215
    (:caption "ディレクトリ移動")
    (:font 9 "MS Pゴシック")
    (:control
     (:listbox list nil #x50b10111 7 7 350 182)
     (:static nil "パス(&P):" #x50020000 7 197 24 8)
     (:edit path nil #x50810080 33 194 324 14)
     (:button IDOK "OK" #x50010001 362 7 50 14)
     (:button IDCANCEL "キャンセル" #x50010000 362 24 50 14))))

200横にひろげて、100縦にひろげました。ひろがりました。filer.lc 消して byte-compile し直して、再起動したら広がりました。「ディレクトリ移動」ダイアログのディレクトリ名が末端まで見える…。つ、使える…。便利…。

ちなみに popd と pushd

上の件で思いついて検索していたら、ぴろっと書いて公開されている方がいらっしゃった。

うっ、便利…。しかしソースを拝見すると、「これくらい自分で書いたらどうだい!」という熱いコスモを勝手に感じるのであった…。もっと手を動かすことにしよう…。スムースになったんだし…。

しかし、ここ数日であまりに作業がスムースになりすぎて怖い。