Function: window--dump-window

window--dump-window is a byte-compiled function defined in window.el.gz.

Signature

(window--dump-window &optional WINDOW ERASE)

Documentation

Dump WINDOW to buffer *window-frame-dump*.

WINDOW must be a valid window and defaults to the selected one. Optional argument ERASE non-nil means erase *window-frame-dump* before writing to it.

Source Code

;; Defined in /usr/src/emacs/lisp/window.el.gz
;; Dumping frame/window contents.
(defun window--dump-window (&optional window erase)
  "Dump WINDOW to buffer *window-frame-dump*.
WINDOW must be a valid window and defaults to the selected one.
Optional argument ERASE non-nil means erase *window-frame-dump*
before writing to it."
  (setq window (window-normalize-window window))
  (with-current-buffer (get-buffer-create "*window-frame-dump*")
    (when erase (erase-buffer))
    (insert
     (format "%s   parent: %s\n" window (window-parent window))
     (format "pixel left: %s   top: %s   size: %s x %s   new: %s\n"
	     (window-pixel-left window) (window-pixel-top window)
	     (window-size window t t) (window-size window nil t)
	     (window-new-pixel window))
     (format "char left: %s   top: %s   size: %s x %s   new: %s\n"
	     (window-left-column window) (window-top-line window)
	     (window-total-size window t) (window-total-size window)
	     (window-new-total window))
     (format "normal: %s x %s   new: %s\n"
	     (window-normal-size window t) (window-normal-size window)
	     (window-new-normal window)))
    (when (window-live-p window)
      (let ((fringes (window-fringes window))
	    (margins (window-margins window)))
	(insert
	 (format "body pixel: %s x %s   char: %s x %s\n"
		 (window-body-width window t) (window-body-height window t)
		 (window-body-width window) (window-body-height window))
	 (format "width left fringe: %s  left margin: %s  right margin: %s\n"
		 (car fringes) (or (car margins) 0) (or (cdr margins) 0))
	 (format "width right fringe: %s  scroll-bar: %s  divider: %s\n"
		 (cadr fringes)
		 (window-scroll-bar-width window)
		 (window-right-divider-width window))
	 (format "height tab-line: %s header-line: %s  mode-line: %s\n"
		 (window-tab-line-height window)
		 (window-header-line-height window)
		 (window-mode-line-height window))
	 (format "height scroll-bar: %s divider: %s"
		 (window-scroll-bar-height window)
		 (window-bottom-divider-width window)))))
    (insert "\n")))