widen-window.el レシピ for ver0.0.3

widen-window.el をリリース - 日記を書く [・w・] はやみずさん コメント欄より

横幅は固定のまま、縦幅だけ長くするように設定することは可能でしょうか。

横幅は80行を目安にプログラムを書くので、横幅を広げることは不要なのですが、縦幅だけ長くできたら嬉しいかなと思いました。

ということなので、機能を追加して ver0.0.3 としました。

download widen-window.el

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)

と書けばよいです。