Function: gdb-setup-windows
gdb-setup-windows is a byte-compiled function defined in gdb-mi.el.gz.
Signature
(gdb-setup-windows)
Documentation
Lay out the window pattern for option gdb-many-windows(var)/gdb-many-windows(fun).
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/gdb-mi.el.gz
(defun gdb-setup-windows ()
"Lay out the window pattern for option `gdb-many-windows'."
(if gdb-default-window-configuration-file
(gdb-load-window-configuration
(if (file-name-absolute-p gdb-default-window-configuration-file)
gdb-default-window-configuration-file
(expand-file-name gdb-default-window-configuration-file
gdb-window-configuration-directory)))
;; Create default layout as before.
;; Make sure that local values are updated before locals.
(gdb-get-buffer-create 'gdb-locals-values-buffer)
(gdb-get-buffer-create 'gdb-locals-buffer)
(gdb-get-buffer-create 'gdb-stack-buffer)
(gdb-get-buffer-create 'gdb-breakpoints-buffer)
(set-window-dedicated-p (selected-window) nil)
(switch-to-buffer gud-comint-buffer)
(delete-other-windows)
(let ((win0 (selected-window))
(win1 (split-window nil ( / ( * (window-height) 3) 4)))
(win2 (split-window nil ( / (window-height) 3)))
(win3 (split-window-right)))
(gdb-set-window-buffer (gdb-locals-buffer-name) nil win3)
(select-window win2)
(set-window-buffer win2 (or (gdb-get-source-buffer)
(list-buffers-noselect)))
(setq gdb-source-window-list (list (selected-window)))
(let ((win4 (split-window-right)))
(gdb-set-window-buffer
(gdb-get-buffer-create 'gdb-inferior-io) nil win4))
(select-window win1)
(gdb-set-window-buffer (gdb-stack-buffer-name))
(let ((win5 (split-window-right)))
(gdb-set-window-buffer (if gdb-show-threads-by-default
(gdb-threads-buffer-name)
(gdb-breakpoints-buffer-name))
nil win5))
(select-window win0))))