Function: window-toggle-side-windows
window-toggle-side-windows is an interactive and byte-compiled
function defined in window.el.gz.
Signature
(window-toggle-side-windows &optional FRAME)
Documentation
Toggle display of side windows on specified FRAME.
FRAME must be a live frame and defaults to the selected one.
If FRAME has at least one side window, delete all side
windows on FRAME after saving FRAME's state in the
FRAME's window-state frame parameter. Otherwise,
restore any side windows recorded in FRAME's window-state
parameter, leaving FRAME's main window alone. Signal an
error if FRAME has no side windows and no saved state for
it is found.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/window.el.gz
(defun window-toggle-side-windows (&optional frame)
"Toggle display of side windows on specified FRAME.
FRAME must be a live frame and defaults to the selected one.
If FRAME has at least one side window, delete all side
windows on FRAME after saving FRAME's state in the
FRAME's `window-state' frame parameter. Otherwise,
restore any side windows recorded in FRAME's `window-state'
parameter, leaving FRAME's main window alone. Signal an
error if FRAME has no side windows and no saved state for
it is found."
(interactive)
(let* ((frame (window-normalize-frame frame))
(window--sides-inhibit-check t)
state)
(cond
((window-with-parameter 'window-side nil frame)
;; At least one side window exists. Remove all side windows after
;; saving FRAME's state in its `window-state' parameter.
(set-frame-parameter
frame 'window-state (window-state-get (frame-root-window frame)))
(let ((ignore-window-parameters t))
(delete-other-windows (window-main-window frame))))
((setq state (frame-parameter frame 'window-state))
;; A window state was saved for FRAME. Restore it and put the
;; current root window into its main window.
(let ((window-combination-resize t)
(main-state (window-state-get (frame-root-window frame))))
(window-state-put state (frame-root-window frame) t)
(window-state-put main-state (window-main-window frame)))
(window--sides-reverse-frame frame))
(t
(error "No side windows state found")))))