Следующие параметры окна контролируют различные аспекты взаимодействия окна с менеджером окон или системой окон. Они не влияют на текстовые терминалы.
visibilityСостояние видимости окна. Существует три возможности:
nil для невидимого, t для видимого и icon для значка. См. Видимость окон.
auto-raiseЕсли не-nil, Emacs автоматически поднимает окно, когда оно выбрано. Некоторые менеджеры окон не разрешают это.
auto-lowerЕсли не-nil, Emacs автоматически опускает окно, когда оно не выбрано. Некоторые менеджеры окон не разрешают это.
icon-typeТип значка, используемый для этого окна. Если значение является строкой, оно указывает на файл, содержащий растровое изображение для использования; nil указывает на отсутствие значка (в этом случае менеджер окон решает, что отобразить); любое другое не-nil значение указывает на значок Emacs по умолчанию.
icon-nameИмя, используемое в значке для этого окна, когда и если значок отображается. Если это nil, используется заголовок окна.
window-idИдентификационный номер, который графический дисплей использует для этого окна. Emacs присваивает этот параметр при создании окна; изменение этого параметра не влияет на фактический номер ID.
outer-window-idИдентификационный номер самого внешнего окна системы окон, в котором существует это окно. Как и в случае с window-id, изменение этого параметра не имеет фактического эффекта.
wait-for-wmЕсли не-nil, сообщите Xt подождать, пока менеджер окон подтвердит изменения геометрии. Некоторые менеджеры окон, включая версии Fvwm2 и KDE, не могут подтвердить, поэтому Xt зависает. Установите это в nil, чтобы предотвратить зависание с этими менеджерами окон.
stickyЕсли не-nil, окно отображается на всех виртуальных рабочих столах в системах с виртуальными рабочими столами.
shadedЕсли не-nil, сообщите менеджеру окон отобразить окно таким образом, чтобы его содержимое было скрыто, оставив только панель заголовка.
use-frame-synchronizationЕсли не-nil, синхронизируйте повторное отображение окна со скоростью обновления монитора, чтобы избежать графического разрыва. В настоящее время это реализовано только в Haiku и в системе окон X в сборках без инструментария и с инструментарием X, не работает корректно с прокручивающимися полосами инструментария, и требует композитного менеджера, поддерживающего соответствующие протоколы синхронизации дисплея. Ресурс X synchronizeResize также должен быть установлен в строку "extended".
inhibit-double-bufferingЕсли не-nil, окно отрисовывается на экране без двойной буферизации. Emacs обычно пытается использовать двойную буферизацию, где это возможно, чтобы уменьшить мерцание; тем не менее, этот параметр предоставляется для случаев, когда двойная буферизация вызывает повреждение дисплея, и для тех эксцентриков, тоскующих по былому мерцанию, которое когда-то преследовало Emacs.
skip-taskbarЕсли не-nil, это сообщает менеджеру окон удалить значок окна из панели задач, связанной с отображением окна, и запретить переключение на окно через комбинацию Alt-TAB. В MS-Windows значки такого окна при значковом отображении «въезжают» в окно системы в нижней части рабочего стола. Некоторые менеджеры окон могут не соблюдать этот параметр.
no-focus-on-mapЕсли не-nil, это означает, что окно не хочет получать фокус ввода, когда оно отображено (см. Видимость окон). Некоторые менеджеры окон могут не соблюдать этот параметр.
no-accept-focusЕсли не-nil, это означает, что окно не хочет получать фокус ввода посредством явных щелчков мыши или при перемещении мыши в него ни через focus-follows-mouse (см. Фокус ввода), ни через mouse-autoselect-window (см. Автоматический выбор окна мышью). Это может иметь нежелательный побочный эффект, что пользователь не сможет прокрутить невыбранное окно мышью. Некоторые менеджеры окон могут не соблюдать этот параметр. В Haiku также есть побочный эффект, что окно не сможет получать никакой ввод с клавиатуры от пользователя, даже если пользователь переключается на окно с помощью комбинации клавиш Alt-TAB.
undecoratedЕсли не-nil, окно системы этого окна отрисовывается без украшений, таких как заголовок, кнопки минимизации/максимизации и внешние рамки. Обычно это означает, что окно нельзя перетащить, изменить размер, значково отобразить, развернуть или удалить с помощью мыши. Если nil, окно этого окна обычно отрисовывается со всеми перечисленными элементами, если только их отображение не было приостановлено настройками менеджера окон.
В X Emacs использует подсказки менеджера окон Motif для отключения украшений. Некоторые менеджеры окон могут не соблюдать эти подсказки.
Сборки NS рассматривают панель инструментов как украшение и, следовательно, скрывают ее на неукрашенном окне.
override-redirect ¶Если не-nil, это означает, что это окно override redirect — окно, которое не обрабатывается менеджерами окон в X. Окна с перенаправлением без украшений не имеют украшений менеджера окон, могут быть позиционированы и изменены в размере только с помощью функций позиционирования и изменения размера Emacs и обычно отрисовываются поверх всех других окон. Установка этого параметра не влияет на MS-Windows.
ns-appearanceДоступно только в macOS. Если установлено в dark, отрисовывайте окно системы этого окна с использованием темы «vibrant dark», а если установлено в light, используйте тему «aqua», в противном случае используйте системный вариант по умолчанию. Тема «vibrant dark» может использоваться для установки панели инструментов и полос прокрутки в темный вид при использовании темы Emacs с темным фоном.
ns-transparent-titlebarДоступно только в macOS. Если не-nil, установите панель заголовка и панель инструментов в прозрачное состояние. Это фактически устанавливает цвет фона обоих в соответствии с цветом фона Emacs.