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 (SeeResizing 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.