elisp: Minibuffers and Frames

 
 28.9 Minibuffers and Frames
 ===========================
 
 Normally, each frame has its own minibuffer window at the bottom, which
 is used whenever that frame is selected.  If the frame has a minibuffer,
 you can get it with ‘minibuffer-window’ (SeeMinibuffer Windows).
 
    However, you can also create a frame without a minibuffer.  Such a
 frame must use the minibuffer window of some other frame.  That other
 frame will serve as “surrogate minibuffer frame” for this frame and
 cannot be deleted via ‘delete-frame’ (SeeDeleting Frames) as long
 as this frame is live.
 
    When you create the frame, you can explicitly specify the minibuffer
 window to use (in some other frame).  If you don’t, then the minibuffer
 is found in the frame which is the value of the variable
 ‘default-minibuffer-frame’.  Its value should be a frame that does have
 a minibuffer.
 
    If you use a minibuffer-only frame, you might want that frame to
 raise when you enter the minibuffer.  If so, set the variable
 ‘minibuffer-auto-raise’ to ‘t’.  SeeRaising and Lowering.
 
  -- Variable: default-minibuffer-frame
      This variable specifies the frame to use for the minibuffer window,
      by default.  It does not affect existing frames.  It is always
      local to the current terminal and cannot be buffer-local.  See
      Multiple Terminals.