30.4.3.6 Параметры взаимодействия фреймов

Эти параметры задают различные формы взаимодействия между разными фреймами.

parent-frame

Если не nil, это означает, что данный фрейм является дочерним (см. Дочерние фреймы), и этот параметр задаёт его родительский фрейм. Если nil, это означает, что данный фрейм является обычным, независимым фреймом верхнего уровня.

delete-before

Если не nil, этот параметр задаёт другой фрейм, удаление которого автоматически вызовет удаление данного фрейма. См. Удаление фреймов.

mouse-wheel-frame

Если не nil, этот параметр задаёт фрейм, окна которого будут прокручиваться всякий раз, когда колесо мыши прокручивается при наведении указателя мыши на этот фрейм. См. Команды мыши в Руководстве GNU Emacs.

no-other-frame

Если это не nil, то данный фрейм не рассматривается как кандидат для функций next-frame, previous-frame (см. Поиск всех фреймов) и other-frame. См. Команды фреймов в Руководстве GNU Emacs.

auto-hide-function

Когда этот параметр задаёт функцию, эта функция будет вызываться вместо функции, указанной в переменной frame-auto-hide-function, при закрытии единственного окна фрейма (см. Закрытие окон) и при наличии других фреймов.

minibuffer-exit

Если этот параметр не nil, Emacs по умолчанию будет делать этот фрейм невидимым всякий раз, когда минибуфер (см. Минибуферы) закрывается. В качестве альтернативы он может задавать функции iconify-frame и delete-frame. Этот параметр полезен для автоматического скрытия дочернего фрейма (аналогично тому, как Emacs обрабатывает окно) при выходе из минибуфера.

keep-ratio

Этот параметр в настоящее время имеет смысл только для дочерних фреймов (см. Дочерние фреймы). Если он не nil, то Emacs будет пытаться сохранять пропорции размера (ширины и высоты) фрейма (см. Параметры размера), а также пропорции его позиций по левому и правому краю (см. Параметры позиции) неизменными при изменении размера его родительского фрейма.

Если значение этого параметра — nil, позиция и размер фрейма остаются неизменными при изменении размера родительского фрейма, поэтому пропорции позиции и размера могут измениться. Если значение этого параметра — t, Emacs будет пытаться сохранить пропорции размера и позиции фрейма, следовательно, размер и позиция фрейма относительно его родительского фрейма могут измениться.

Более индивидуальное управление возможно с помощью точечной пары: в этом случае пропорция ширины фрейма сохраняется, если CAR ячейки равен либо t, либо width-only. Пропорция высоты сохраняется, если CAR ячейки равен либо t, либо height-only. Пропорция позиции по левому краю сохраняется, если CDR ячейки равен либо t, либо left-only. Пропорция позиции по верхнему краю сохраняется, если CDR ячейки равен либо t, либо top-only.