From 42556aea66d8de0650f9d930ba2744a61e316b0c Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Mon, 18 Oct 2021 15:56:18 -0700 Subject: advise delete-other-windows to preserve side window state --- .emacs.d/init-spw.el | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.emacs.d/init-spw.el b/.emacs.d/init-spw.el index 9de0cb82..2a34fee0 100644 --- a/.emacs.d/init-spw.el +++ b/.emacs.d/init-spw.el @@ -587,6 +587,18 @@ window first." ;; keyboard macros (global-set-key "\C-cs" #'spw/window-toggle-side-windows) +(defun spw/delete-other-windows--toggle-side-windows + (&optional window &rest _ignore) + "Save any side window state before deleting other windows such that side +windows can be recovered using `window-toggle-side-windows'. + +A limitation is that when `window-toggle-side-windows' is subsequently used +the non-side windows deleted by `delete-other-windows' will also reappear." + (when (window-parameter window 'window-side) + (window-toggle-side-windows (window-frame window)))) +(advice-add 'delete-other-windows + :before #'spw/delete-other-windows--toggle-side-windows) + (setq auth-source-save-behavior nil) ;; Make `read-only-mode' and `view-mode' basically the same thing -- if the -- cgit v1.2.3