widen-window.el をリリース

Emacsのマイナーモード widen window mode というものを書きました。

これはなに?

Emacsで画面を2分割や3分割して作業をしている人は多いと思うのですが、ディスプレイが小さい場合に1つのバッファが表示される領域(Emacsの用語でwindowという)が小さくなってしまい、作業しづらくてイライラする!ということはないでしょうか。

そんなイライラを解決するのが、widen window mode です。

widen window mode を使うと、フォーカスのある window のサイズが自動的に大きくなります。

とりあえずデモを見てもらえば、何が起きるのか一目瞭然かとおもいます。


インストール方法

CodeRepos に最新版をupしておきました。

download widen-window.el

インストールするには、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 に変更