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))))