前回終了時のフレームサイズで起動する
毎回左上の隅っこにちんまり起動するのは気が利かないと思う。
終了時点でのフレームサイズを保存しておいて、起動時に参照すればよろしいのではなかろうか。 というわけで下の設定を書いてみた。
;;; last-frame ;; Emacs 終了時にフレームパラメータ top, left, width, height を保存し、 ;; 起動時に保存したパラメータを適用する (add-hook 'window-setup-hook 'load-last-frame) (add-hook 'kill-emacs-hook 'save-last-frame) (defvar last-frame-file "last-frame-alist.el") (defvar last-frame-properties '(top left width height)) (defun save-last-frame () (let ((file (locate-user-emacs-file last-frame-file)) (buffer (get-buffer-create "*last frame*"))) (unwind-protect (with-current-buffer buffer (erase-buffer) (setq-local buffer-file-coding-system 'utf-8) (let ((parameters (frame-parameters))) (pp (mapcar (lambda (p) (assoc p parameters)) last-frame-properties) buffer) (insert "\n") (write-file file nil))) (kill-buffer buffer)))) (defun load-last-frame () (let ((file (locate-user-emacs-file last-frame-file)) buffer) (when (file-readable-p file) (setq buffer (get-buffer-create "*last frame*")) (unwind-protect (with-current-buffer buffer (erase-buffer) (insert-file-contents file) (let ((parameters (read (current-buffer)))) (modify-frame-parameters (selected-frame) parameters) (setq initial-frame-alist parameters) (setq default-frame-alist initial-frame-alist))) (kill-buffer buffer)))))