30.4.3.6 框架交互参数

这些参数用于控制不同框架之间的交互行为。

parent-frame

若为非 nil,表示本框架为子框架(see 子框架),该参数指定其父框架。若为 nil,表示本框架为普通顶层框架。

delete-before

若为非 nil,该参数指定另一个框架,当该框架被删除时,会自动触发本框架的删除操作。See 删除框架

mouse-wheel-frame

若为非 nil,该参数指定一个框架,当鼠标指针悬停在本框架上并滚动鼠标滚轮时,滚动操作将作用于该指定框架的窗口,参见 Mouse Commands in The GNU Emacs Manual

no-other-frame

若为非 nil,本框架不会被 next-frameprevious-frame(see 查找所有框架)和 other-frame 等函数列为候选目标,参见 Frame Commands in The GNU Emacs Manual

auto-hide-function

当该参数指定一个函数时,在退出本框架唯一的窗口(see 退出窗口)且仍存在其他框架时,将调用该函数,而非使用变量 frame-auto-hide-function 指定的函数。

minibuffer-exit

若该参数为非 nil,Emacs 默认会在退出迷你缓冲区(see 迷你缓冲区)时将本框架设为不可见。该参数也可指定为函数 iconify-framedelete-frame。此参数常用于让子框架在退出迷你缓冲区时自动隐藏(类似 Emacs 处理普通窗口的方式)。

keep-ratio

该参数目前仅对子框架(see 子框架)有效。若为非 nil,当父框架大小改变时,Emacs 会尽量保持本框架的尺寸比例(宽度与高度,see 尺寸参数)以及左右位置比例(see 位置参数)不变。

若该参数值为 nil,父框架大小改变时本框架的位置与尺寸保持不变,因此比例可能发生变化。若值为 t,Emacs 会尽量保留尺寸与位置比例,因此本框架相对于父框架的实际尺寸与位置可能改变。

使用 cons 单元格可实现更精细的控制:若单元格的 CARtwidth-only,则保留宽度比例;若为 theight-only,则保留高度比例。若单元格的 CDRtleft-only,则保留左侧位置比例;若为 ttop-only,则保留顶部位置比例。