summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.emacs.d/init-spw.el12
1 files changed, 12 insertions, 0 deletions
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