elisp: Minibuffer Windows
19.11 Minibuffer Windows
========================
These functions access and select minibuffer windows, test whether they
are active and control how they get resized.
-- Function: active-minibuffer-window
This function returns the currently active minibuffer window, or
‘nil’ if there is none.
-- Function: minibuffer-window &optional frame
This function returns the minibuffer window used for frame FRAME.
If FRAME is ‘nil’, that stands for the current frame. Note that
the minibuffer window used by a frame need not be part of that
frame—a frame that has no minibuffer of its own necessarily uses
some other frame’s minibuffer window.
-- Function: set-minibuffer-window window
This function specifies WINDOW as the minibuffer window to use.
This affects where the minibuffer is displayed if you put text in
it without invoking the usual minibuffer commands. It has no
effect on the usual minibuffer input functions because they all
start by choosing the minibuffer window according to the current
frame.
-- Function: window-minibuffer-p &optional window
This function returns non-‘nil’ if WINDOW is a minibuffer window.
WINDOW defaults to the selected window.
It is not correct to determine whether a given window is a minibuffer
by comparing it with the result of ‘(minibuffer-window)’, because there
can be more than one minibuffer window if there is more than one frame.
-- Function: minibuffer-window-active-p window
This function returns non-‘nil’ if WINDOW is the currently active
minibuffer window.
The following two options control whether minibuffer windows are
resized automatically and how large they can get in the process.
-- User Option: resize-mini-windows
This option specifies whether minibuffer windows are resized
automatically. The default value is ‘grow-only’, which means that
a minibuffer window by default expands automatically to accommodate
the text it displays and shrinks back to one line as soon as the
minibuffer gets empty. If the value is ‘t’, Emacs will always try
to fit the height of a minibuffer window to the text it displays
(with a minimum of one line). If the value is ‘nil’, a minibuffer
window never changes size automatically. In that case the window
resizing commands (Resizing Windows) can be used to adjust
its height.
-- User Option: max-mini-window-height
This option provides a maximum height for resizing minibuffer
windows automatically. A floating-point number specifies a
fraction of the frame’s height; an integer specifies the maximum
number of lines. The default value is 0.25.