这些函数用于访问和选中迷你缓冲区窗口、判断它们是否处于激活状态, 以及控制它们的自动调整大小行为。
该函数返回用于框架 frame 的迷你缓冲区窗口。
如果 frame 为 nil,则表示当前选中的框架。
注意,某个框架所使用的迷你缓冲区窗口不一定属于该框架本身——
一个没有自身迷你缓冲区的框架,必然会使用其他框架的迷你缓冲区窗口。
无迷你缓冲区框架所使用的迷你缓冲区窗口,可以通过设置该框架的
minibuffer 框架参数来更改(see Buffer Parameters)。
该函数将 window 指定为要使用的迷你缓冲区窗口。 这会影响在不调用常规迷你缓冲区命令的情况下向其中放入文本时, 迷你缓冲区的显示位置。它对常规的迷你缓冲区输入函数没有影响, 因为这些函数都会先根据当前选中框架选择对应的迷你缓冲区窗口。
如果 window 是迷你缓冲区窗口,该函数返回 t。
window 的默认值为当前选中窗口。
下面的函数返回显示当前激活迷你缓冲区的窗口。
该函数返回当前激活迷你缓冲区所在的窗口;
如果没有激活的迷你缓冲区,则返回 nil。
仅通过将某个窗口与 (minibuffer-window) 的结果比较,
不足以判断该窗口是否显示当前激活的迷你缓冲区,
因为当存在多个框架时,可能会有多个迷你缓冲区窗口。
如果 window 显示的是当前激活的迷你缓冲区,
该函数返回非 nil。
下面两个选项控制迷你缓冲区窗口是否自动调整大小, 以及调整过程中的最大高度。
该选项指定迷你缓冲区窗口是否自动调整大小。默认值为 grow-only,
表示迷你缓冲区窗口默认会自动扩展以适应所显示的文本,
并在迷你缓冲区清空后立即收缩回一行高度。
如果值为 t,Emacs 会始终尝试让迷你缓冲区窗口的高度
适配其显示的文本(最小高度为一行)。
如果值为 nil,迷你缓冲区窗口不会自动改变大小。
这种情况下可以使用窗口大小调整命令(see Resizing Windows)
来手动调整其高度。
该选项为迷你缓冲区窗口的自动调整大小设置最大高度限制。 浮点数指定的最大高度为框架高度的比例; 整数指定的最大高度以框架的标准字符高度为单位(see Frame Font)。 默认值为 0.25。
注意,上述两个变量的值只在显示时生效,
因此在产生回显区消息的代码周围对它们进行临时绑定不会起作用。
如果希望在显示长消息时阻止迷你缓冲区窗口调整大小,
请改为绑定变量 message-truncate-lines(see Echo Area Customization)。
选项 resize-mini-windows 不影响仅迷你缓冲区框架的行为(see Frame Layout)。
下面的选项同样支持对这类框架进行自动调整大小。
如果该选项为 nil,仅迷你缓冲区框架不会被自动调整大小。
如果该选项是一个函数,则会以需要调整大小的仅迷你缓冲区框架 作为唯一参数调用该函数。调用该函数时, 该框架的迷你缓冲区窗口所对应的缓冲区, 是该窗口下次重新刷新时将要显示内容的缓冲区。 该函数应以合适的方式让框架适配缓冲区内容。
任何其他非 nil 值表示通过调用 fit-mini-frame-to-buffer
来自动调整仅迷你缓冲区框架的大小。该函数行为类似
fit-frame-to-buffer(see Resizing Windows),
但不会从缓冲区文本中去除开头或结尾的空行。