move more settings to the early init file

This commit is contained in:
2022-01-16 15:27:42 +01:00
parent c65ffe449e
commit 306a7fc2a4
6 changed files with 97 additions and 49 deletions

View File

@@ -425,42 +425,5 @@ See also `dashboard-insert-section' for the sequence of elements."
;;:hook (help-mode . virtual-auto-fill-mode)
)
;; Custom functions/hooks for persisting/loading frame geometry upon save/load
(setq my-frame-geometry-file (concat user-cache-directory "frame-geometry.el"))
(defun my-frame-geometry-save ()
"Gets the current frame's geometry and save it to `my-frame-geometry-file'."
(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 my-frame-geometry-file))
(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"
;; " '((font . \"" frameg-font "\")\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 my-frame-geometry-load ()
"Load `my-frame-geometry-file' which should load the previous frame's geometry."
(let ((frameg-file my-frame-geometry-file))
(when (file-readable-p frameg-file)
(load-file frameg-file))))
;; Special work to do ONLY when there is a window system being used
(if (display-graphic-p)
(progn
(add-hook 'after-init-hook 'my-frame-geometry-load)
(add-hook 'kill-emacs-hook 'my-frame-geometry-save)))
(provide 'gui-settings)
;;; gui-settings.el ends here