Variable: window-combination-limit

window-combination-limit is a customizable variable defined in window.c.

Value

window-size

Documentation

If non-nil, splitting a window makes a new parent window.

The following values are recognized:

nil means splitting a window will create a new parent window only if the
    window has no parent window or the window shall become part of a
    combination orthogonal to the one it is part of.

window-size means that splitting a window for displaying a buffer
    makes a new parent window provided display-buffer is supposed to
    explicitly set the window's size due to the presence of a
    window-height or window-width entry in the alist used by
    display-buffer. Otherwise, this value is handled like nil.

temp-buffer-resize means that splitting a window for displaying a
    temporary buffer via with-temp-buffer-window makes a new parent
    window only if temp-buffer-resize-mode(var)/temp-buffer-resize-mode(fun) is enabled. Otherwise,
    this value is handled like nil.

temp-buffer means that splitting a window for displaying a temporary
    buffer via with-temp-buffer-window always makes a new parent
    window. Otherwise, this value is handled like nil.

display-buffer means that splitting a window for displaying a buffer
    always makes a new parent window. Since temporary buffers are
    displayed by the function display-buffer, this value is stronger
    than temp-buffer. Splitting a window for other purpose makes a
    new parent window only if needed.

t means that splitting a window always creates a new parent window. If
    all splits behave this way, each frame's window tree is a binary
    tree and every window but the frame's root window has exactly one
    sibling.

The default value is window-size. Other values are reserved for future use.

This variable was added, or its default value changed, in Emacs 26.1.

Probably introduced at or before Emacs version 24.1.

Source Code

// Defined in /usr/src/emacs/src/window.c
  DEFVAR_LISP ("window-combination-limit", Vwindow_combination_limit,
	       doc: /* If non-nil, splitting a window makes a new parent window.
The following values are recognized:

nil means splitting a window will create a new parent window only if the
    window has no parent window or the window shall become part of a
    combination orthogonal to the one it is part of.

`window-size' means that splitting a window for displaying a buffer
    makes a new parent window provided `display-buffer' is supposed to
    explicitly set the window's size due to the presence of a
    `window-height' or `window-width' entry in the alist used by
    `display-buffer'.  Otherwise, this value is handled like nil.

`temp-buffer-resize' means that splitting a window for displaying a
    temporary buffer via `with-temp-buffer-window' makes a new parent
    window only if `temp-buffer-resize-mode' is enabled.  Otherwise,
    this value is handled like nil.

`temp-buffer' means that splitting a window for displaying a temporary
    buffer via `with-temp-buffer-window' always makes a new parent
    window.  Otherwise, this value is handled like nil.

`display-buffer' means that splitting a window for displaying a buffer
    always makes a new parent window.  Since temporary buffers are
    displayed by the function `display-buffer', this value is stronger
    than `temp-buffer'.  Splitting a window for other purpose makes a
    new parent window only if needed.

t means that splitting a window always creates a new parent window.  If
    all splits behave this way, each frame's window tree is a binary
    tree and every window but the frame's root window has exactly one
    sibling.

The default value is `window-size'.  Other values are reserved for
future use.  */);