Use farmg package instead of static default frame
This commit is contained in:
38
frameg.el
Normal file
38
frameg.el
Normal file
@@ -0,0 +1,38 @@
|
||||
;; https://www.reddit.com/r/emacs/comments/4ermj9/comment/d237n0i/?utm_source=share&utm_medium=web2x&context=3
|
||||
;; Custom functions/hooks for persisting/loading frame geometry upon save/load
|
||||
|
||||
(defun save-frameg ()
|
||||
"Gets the current frame's geometry and saves to ~/.emacs.frameg."
|
||||
(let ((frameg-font (frame-parameter (selected-frame) 'font))
|
||||
(frameg-left (frame-parameter (selected-frame) 'left))
|
||||
(frameg-top (frame-parameter (selected-frame) 'top))
|
||||
(frameg-width (frame-parameter (selected-frame) 'width))
|
||||
(frameg-height (frame-parameter (selected-frame) 'height))
|
||||
(frameg-file (expand-file-name ".emacs.frameg" user-emacs-directory)))
|
||||
(with-temp-buffer
|
||||
;; Turn off backup for this file
|
||||
(make-local-variable 'make-backup-files)
|
||||
(setq make-backup-files nil)
|
||||
(insert
|
||||
";;; This file stores the previous emacs frame's geometry.\n"
|
||||
";;; Last generated " (current-time-string) ".\n"
|
||||
"(setq initial-frame-alist\n"
|
||||
" '("
|
||||
(format " (top . %d)\n" (max frameg-top 0))
|
||||
(format " (left . %d)\n" (max frameg-left 0))
|
||||
(format " (width . %d)\n" (max frameg-width 0))
|
||||
(format " (height . %d)))\n" (max frameg-height 0)))
|
||||
(when (file-writable-p frameg-file)
|
||||
(write-file frameg-file)))))
|
||||
|
||||
(defun load-frameg ()
|
||||
"Loads ~/.emacs.frameg which should load the previous frame's geometry."
|
||||
(let ((frameg-file (expand-file-name ".emacs.frameg" user-emacs-directory)))
|
||||
(when (file-readable-p frameg-file)
|
||||
(load-file frameg-file))))
|
||||
|
||||
;; Special work to do ONLY when there is a window system being used
|
||||
(if window-system
|
||||
(progn
|
||||
(add-hook 'after-init-hook 'load-frameg)
|
||||
(add-hook 'kill-emacs-hook 'save-frameg)))
|
||||
Reference in New Issue
Block a user