2011/01/25

frame-arrange.el を更新しました(サイズのインクリメント、設定のシリアライズ)

サイズ

サイズをインタラクティブに変更する
  • frange:increment-size/current-frame
  • frange:decrement-size/current-frame
という関数を追加してあります。
好みのキーに割り当てるなどして使ってください。

increment される値は frange:size-incremental-value を書き換える(setq する)ことで変更できます。

frame-arrange.el の関数名はやたらと長いので、下記のように任意の名前の関数でラップしても良いかもしれません。
(setq frange:size-incremental-value 10)

(defun my-size-inc ()
  (interactive)
  (frange:increment-size/current-frame))

(defun my-size-dec ()
  (interactive)
  (frange:decrement-size/current-frame))

(define-key global-map (kbd "好みのキー") 'my-size-inc)
(define-key global-map (kbd "好みのキー") 'my-size-dec)

シリアライズ

シリアライズというか、alist をそのまま S 式としてファイルに読み書きするだけです。
下記のように呼び出すと、現在の位置とサイズに名前を付けて保存することができます。

(defun my-regist-frame ()
  (interactive)
  (frange:regist-frame-position-parameter-interactive))

(defun my-restore-frame ()
  (interactive)
  (frange:restore-frame-position-parameter-interactive))

(define-key global-map (kbd "好みのキー") 'my-regist-frame)
(define-key global-map (kbd "好みのキー") 'my-restore-frame)

保存先を変更する場合は frange:arrange-config-alist-file-name を setq してください。
保存した設定の削除は frange:remove-arrange-config-alist-entry で行なうことができます。

print

現在の状態を確認する関数も用意しました。
  • frange:print-arrange-config-names
  • frange:print-arrange-config-alist-entries
  • frange:print-frame-position-parameter/current-frame
M-x して呼び出すか、任意のキーに割り当てて使うことができます。

余談

略語を定義しなかったお陰で名前がすごく長くなって混乱しています。
たぶん結構バグがあると思うので、その都度直します。
何か気づいた点があったら @valvallow か blog のコメント欄などで教えて頂けると嬉しいです。

参考


追記

あとは保存した設定を cycle するようなのがあると良いかも。
-> 追加しました -> vallog: frame-arrange.el の保存してある設定を cycle する

追記2

M-down, M-up が空いてるなら割当てるのに調度良いかも。
(define-key global-map [(M down)] 'frange:increment-size/current-frame)
(define-key global-map [(M up)] 'frange:decrement-size/current-frame)

Emacsテクニックバイブル ~作業効率をカイゼンする200の技~

0 件のコメント:

コメントを投稿