30.11 Видимость фреймов

Фрейм на графическом дисплее может быть видимым, невидимым или иконофицированным. Если он видим, его содержимое отображается обычным образом. Если он иконофицирован, его содержимое не отображается, но где-то есть маленькая иконка, чтобы вернуть фрейм в поле зрения (некоторые менеджеры окон называют это состояние минимизированным, а не иконофицированным, но с точки зрения Emacs они одно и то же). Если фрейм невидимый, он вообще не отображается.

Понятие видимости тесно связано с понятием (не)отображенных фреймов. Фрейм (или, точнее, его окно в системе окон) становится и становится отображенным, когда он отображается впервые, и всякий раз, когда его состояние видимости меняется с iconified или invisible на visible. И наоборот, фрейм становится и становится неотображенным всякий раз, когда его статус меняется с visible на iconified или invisible.

Видимость бессмысленна в текстовых терминалах, поскольку в любом случае отображается только выбранный фрейм.

Функция: frame-visible-p frame

Эта функция возвращает статус видимости фрейма frame. Значение равно t, если frame видим, nil, если он невидимый, и icon, если он иконофицирован.

В текстовом терминале все фреймы считаются видимыми для целей этой функции, хотя отображается только один фрейм. См. Поднятие, опускание и переупорядочивание фреймов.

Команда: iconify-frame &optional frame

Эта функция иконофицирует фрейм frame. Если вы опускаете frame, она иконофицирует выбранный фрейм. Обычно это делает все дочерние фреймы frame (и их потомки) невидимыми (см. Дочерние фреймы).

Команда: make-frame-visible &optional frame

Эта функция делает фрейм frame видимым. Если вы опускаете frame, она делает выбранный фрейм видимым. Это не поднимает фрейм, но вы можете сделать это с помощью raise-frame, если хотите (см. Поднятие, опускание и переупорядочивание фреймов).

Придание фрейму видимости обычно делает видимыми и все его дочерние фреймы (и их потомки) (см. Дочерние фреймы).

Команда: make-frame-invisible &optional frame force

Эта функция делает фрейм frame невидимым. Если вы опускаете frame, она делает выбранный фрейм невидимым. Обычно это также делает невидимыми все дочерние фреймы frame (и их потомки) (см. Дочерние фреймы).

Если force не является nil, эта функция отказывается делать frame невидимым, если все остальные фреймы невидимы.

Статус видимости фрейма также доступен как параметр фрейма. Вы можете читать или изменять его как таковой. См. Параметры управления окнами. Пользователь также может иконофицировать и деиконофицировать фреймы с помощью менеджера окон. Это происходит ниже уровня, на котором Emacs может осуществлять какой-либо контроль, но Emacs предоставляет события, которые вы можете использовать для отслеживания таких изменений. См. Различные системные события.

Функция: x-double-buffered-p &optional frame

Эта функция возвращает не-nil, если frame в настоящее время отрисовывается с двойной буферизацией. По умолчанию frame — это выбранный фрейм.