2011/01/18

frame-arrange.el にしようと思っているもの

Emacs のフレームの位置やサイズをキー操作で変更したかったので、Emacs Lisp の練習がてら書いてみました。
取りあえずロードすれば使えるので、貼っておきます。

オレオレ仕様のマクロもありますので、一見して使い方がわからないと思います。
後日、マイナーモードかメジャーモードにできそうならしたいと思っているので、使い方はその時に書きたいと思います。
マイナーモードもメジャーモードもよくわかってないので、しばらくかかるかもしれません。

@podhmo さんの defmacro!.el をお借りしているので、ロードパスの通ったところに置いておく必要があります。
また、frange:foldl の定義はこちらの fold の定義を拝借しました(していいのか?)。

簡単に使い方を書きます。
例えば、現在の frame-arrange.el の最後の方で定義されている下記のコード。
(def:frange/current-frame arrange/bottom-right-most
  (nil top frange:-1)
  (nil left frange:-1))
からは2つの関数定義が生成されるのですが、そのうちの一つを下記のように呼び出すと Emacs のフレームが右下隅に移動すると思います。
(frange:arrange/bottom-right-most/current-frame)

また、
(frange:increment-position-left/current-frame) 
と呼び出すとフレームが右に少し動く、といった具合です。

あとは、登録しておいたサイズを復元できます。
(ホントはこれがメイン。。)
(frange:restore-frame-position-parameter (selected-frame) 'example-1)
(frange:restore-frame-position-parameter (selected-frame) 'example-2)
を交互に実行すると、フレームのサイズが変わると思います。


入門 GNU Emacs 第3版

0 件のコメント:

コメントを投稿