mirror of
https://github.com/pestctrl/emacs-config.git
synced 2026-06-14 04:11:18 +00:00
Reworked how frame-restore works
This commit is contained in:
parent
4d3f958834
commit
3f97a86ae6
1 changed files with 9 additions and 5 deletions
|
|
@ -34,18 +34,22 @@
|
||||||
(not (string= "F1" (frame-parameter frame 'name))))))
|
(not (string= "F1" (frame-parameter frame 'name))))))
|
||||||
(visible-frame-list)))
|
(visible-frame-list)))
|
||||||
|
|
||||||
(defvar fr/working-state nil)
|
;; Upon emacs startup, we have a valid working state
|
||||||
|
(defvar fr/working-state t)
|
||||||
|
(defvar fr/startup t)
|
||||||
|
|
||||||
(defun fr/give-up-working-state ()
|
(defun fr/give-up-working-state ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(setq fr/working-state t))
|
(setq fr/working-state t))
|
||||||
|
|
||||||
(fr/give-up-working-state)
|
;; Whenever a new frame is created, and it's the first frame that's been
|
||||||
|
;; created, our working state has been wrecked.
|
||||||
(add-to-list 'server-after-make-frame-hook
|
(add-to-list 'server-after-make-frame-hook
|
||||||
(lambda (&rest _)
|
(lambda (&rest _)
|
||||||
(when (<= (length (fr/non-tty-frames)) 1)
|
(if fr/startup
|
||||||
(setq fr/working-state nil))))
|
(setq fr/startup nil)
|
||||||
|
(when (<= (length (fr/non-tty-frames)) 1)
|
||||||
|
(setq fr/working-state nil)))))
|
||||||
|
|
||||||
(defun fr/save-if-appropriate (&rest _)
|
(defun fr/save-if-appropriate (&rest _)
|
||||||
(interactive)
|
(interactive)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue