widen-window.el レシピ for ver0.0.3
widen-window.el をリリース - 日記を書く [・w・] はやみずさん コメント欄より
横幅は固定のまま、縦幅だけ長くするように設定することは可能でしょうか。
横幅は80行を目安にプログラムを書くので、横幅を広げることは不要なのですが、縦幅だけ長くできたら嬉しいかなと思いました。
ということなので、機能を追加して ver0.0.3 としました。
recipe 01: 縦、横の widening を制御する
ww-width, ww-height というカスタマイズ変数を追加しました。それぞれ、t or nil のみを値としてとり、ww-width が nil の場合には横幅の widening は機能しません。ww-height も同様です。どちらも、デフォルト値は t です。
なので、横幅は固定で縦幅だけ widening を効かせたい、という場合は .emacs に次のように書いておけばよいです。
(require 'widen-window) (setq ww-width nil) (global-widen-window-mode t)
recipe 02: ウィンドウ比を変更する
カスタマイズ変数 ww-ratio でウィンドウを拡大する比率を変更できます。デフォルト値は 0.625 で、値は 0より大きく1より小さくなければいけません。たとえば 0.8 くらいにしたかったら
(require 'widen-window) (setq ww-ratio 0.8) (global-widen-window-mode t)
と書けばよいです。
recipe 03: window widening が機能してほしいタイミングを追加する
widen window mode では、split-windowや、other-window などが実行された後にフックして window widening を行なっています。もし window widening を実行してほしいのに、実行されない、というようなコマンドを発見したら、カスタマイズ変数 ww-advised-funtions にそのコマンド名のシンボルを追加してください。
たとえば、recenterコマンド(C-l)でwindow-wideningをしてほしかったら
(require 'widen-window) (add-to-list 'ww-advised-functions 'recenter) (global-widen-window-mode t)
と書けばよいです。