30.9 迷你缓冲区与框架

通常,每个框架底部都有自己的迷你缓冲区窗口,在该框架被选中时使用。 可以通过函数 minibuffer-window 获取该窗口(see Minibuffer 窗口)。

不过,也可以创建不带迷你缓冲区的框架。这类框架必须使用其他框架的迷你缓冲区窗口。 那个框架会作为当前框架的代理迷你缓冲区框架(surrogate minibuffer frame),只要当前框架处于活动状态,就无法通过 delete-frame 删除它(see 删除框架)。

创建框架时,可以通过 minibuffer 框架参数(see 缓冲区参数)显式指定其迷你缓冲区窗口(位于其他框架)。 若未指定,则使用变量 default-minibuffer-frame 值所对应框架中的迷你缓冲区。该变量的值必须是带有迷你缓冲区的框架。

如果使用仅含迷你缓冲区的框架,可能希望进入迷你缓冲区时自动将其置顶。 若是如此,可将变量 minibuffer-auto-raise 设为 t。See 框架的置顶、置底与堆叠调整.

Variable: default-minibuffer-frame

该变量指定默认使用哪个框架的迷你缓冲区窗口。它不影响已存在的框架。 该变量始终是当前终端局部的,不能是缓冲区局部的。See 多终端.