change from startup into fullscreen to last saved geometry
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
(add-to-list 'default-frame-alist item)
|
||||
)
|
||||
'(
|
||||
(fullscreen . maximized)
|
||||
;;(fullscreen . maximized) ;; restore saved geometry, see gui-settings.el my-frame-geometry-
|
||||
(tool-bar-position . left)
|
||||
;;(horizontal-scroll-bars . t) ;; see gui-settings
|
||||
)
|
||||
|
||||
@@ -363,5 +363,42 @@ See also `dashboard-insert-section'."
|
||||
;;: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 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 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 ()
|
||||
"Loads ~/.emacs.frameg 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
|
||||
|
||||
Reference in New Issue
Block a user