widen-window.el をリリース
Emacsのマイナーモード widen window mode というものを書きました。
これはなに?
Emacsで画面を2分割や3分割して作業をしている人は多いと思うのですが、ディスプレイが小さい場合に1つのバッファが表示される領域(Emacsの用語でwindowという)が小さくなってしまい、作業しづらくてイライラする!ということはないでしょうか。
そんなイライラを解決するのが、widen window mode です。
widen window mode を使うと、フォーカスのある window のサイズが自動的に大きくなります。
とりあえずデモを見てもらえば、何が起きるのか一目瞭然かとおもいます。
インストール方法
CodeRepos に最新版をupしておきました。
インストールするには、winden-window.el を load-path にあるディレクトリに置いて、.emacs に以下の記述を追加するだけです。
(require 'widen-window) (global-widen-window-mode t)
特定のメジャーモードでwiden window modeを有効にしたくない場合は、カスタマイズ変数 ww-nowide-modes を適宜いじってくださいな。
ToDo
複雑な window の分割をすると、大きく表示されないバグがある。2分割とか3分割程度なら大体大丈夫なはず、、、
追記
さっそくid:rubikitch さんに添削してもらえたので、修正して ver 0.0.2 をup。↑のリンクからダウンロードすればそのまま最新版が落とせるはずです。
うーん。「(fboundp 'define-global-minor-mode)」のチェックってはたして必要なのかな?定義されていないemacsenってどれだろうか。
これは auto-complete.el を覗いていたらそう書いてあったので、無い Emacsen もあるのかなーと思いとりあえずパクらせてもらったコードですね。コンパイルエラーが出るのも気持ち悪いし、とりあえずは early release ということで動作対象はEmacs22に絞って、fboundpによるチェックは無くしました。
他の変更点は以下のとおり
- 「この関数が実行された後に window widening をする」という設定をベタ書きしていたのを、custom変数に関数のシンボル名をもたせておいて、widen-window-mode を on にしたときに advise するというようにした
- デフォルトの ww-ratio を 0.625 に変更(もともと0.55にしてたのは変更忘れ)
- ww-ratio が不正な値(0以下か、1以上) になっていた場合、適当な値に設定しなおす
- mode-line の表示を WidenWindow から WW に変更