diff options
Diffstat (limited to '.config/emacs/lisp/toggle-window')
| -rw-r--r-- | .config/emacs/lisp/toggle-window/toggle-window.el | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/.config/emacs/lisp/toggle-window/toggle-window.el b/.config/emacs/lisp/toggle-window/toggle-window.el index 28c7c62..c518159 100644 --- a/.config/emacs/lisp/toggle-window/toggle-window.el +++ b/.config/emacs/lisp/toggle-window/toggle-window.el @@ -1,17 +1,21 @@ (defvar toggle-window-configuration nil "Stores the window configuration") -;; should rewrite to not do the save configuration thing - (defun toggle-window () (interactive) (if (count-windows) (if (one-window-p) ;; reset configuration if single window (if toggle-window-configuration - (progn - (set-window-configuration toggle-window-configuration) - (setq toggle-window-configuration nil)) + (let* ((current-window (selected-window)) + (current-buffer (window-buffer current-window))) + (progn + (set-window-configuration toggle-window-configuration) + (set-window-buffer current-window current-buffer) + ;; make sure current window keeps state + (window-state-put current-window-state) + (setq toggle-window-configuration nil)) + ) (message "No previous window layout to restore.")) ;; if multiple windows save configuration (setq toggle-window-configuration (current-window-configuration)) |
