frame-arrange.el に追加しました。
;; cycle (defun frange:cycle-arrange-config-gen () (lexical-let ((cur 0)) #'(lambda () (interactive) (let ((conf frange:arrange-config-alist)) (when conf (let* ((len (length conf)) (next (if (<= len (+ cur 1)) 0 (+ cur 1)))) (frange:restore-frame-position-parameter (selected-frame) (car (nth next conf))) (setq cur next)))))))例えば F12 を連打すると保存してある設定(位置とサイズ)を順番に適用します。
(設定の保存は frange:regist-frame-position-parameter-interactive )
(define-key global-map [f12] (frange:cycle-arrange-config-gen))
それと minor-mode-alist への登録を行なうコードがなかったので、追加しました。
(frame-arrange-mode が実行されていると、モードラインに frange と表示される)
余談
let じゃなくて lexical-let で囲まないとってのを、やっぱり忘れてハマります。あー、あと rlet1, if-let1, let1 がデフォルトで欲しいですね。Emacs Lisp。
0 件のコメント:
コメントを投稿