Оконные системы
Emacs работает с несколькими оконными системами, прежде всего с X Window System. И Emacs, и X используют термин «окно», но вкладывают в него разный смысл. С точки зрения X, кадр Emacs — это отдельное окно; отдельные окна Emacs для X вообще неизвестны.
- Переменная: window-system
-
Эта переменная, локальная для терминала, сообщает программам на Lisp, какую оконную систему Emacs использует для отображения кадра. Возможные значения:
-
x Emacs отображает кадр с помощью X.
w32Emacs отображает кадр с помощью стандартного графического интерфейса MS-Windows.
nsEmacs отображает кадр с помощью интерфейса Nextstep (используемого в GNUstep и macOS).
pcEmacs отображает кадр, напрямую записывая данные на экран в MS-DOS.
haikuEmacs отображает кадр с помощью Application Kit в Haiku.
pgtkEmacs отображает кадр, используя только средства GTK.
androidEmacs отображает кадр в Android.
nilEmacs отображает кадр на символьном терминале.
-
- Переменная: initial-window-system
Эта переменная содержит значение
window-system, использованное для первого кадра, созданного Emacs при запуске. (Когда Emacs запускается как демон, он не создаёт начальных кадров, поэтомуinitial-window-systemимеет значениеnil, за исключением MS-Windows, где оно по-прежнему имеет значениеw32. См. демон в Руководстве GNU Emacs.)
- Функция: window-system &optional frame
Эта функция возвращает символ, имя которого указывает, какая оконная система используется для отображения frame (по умолчанию — текущий выбранный кадр). Список возможных возвращаемых символов совпадает со списком, описанным выше для переменной
window-system.
Не используйте window-system и initial-window-system в качестве предикатов или логических переменных-флагов, если хотите написать код, который по-разному работает в текстовых терминалах и графических дисплеях. Дело в том, что window-system не является надёжным показателем возможностей Emacs для данного типа дисплея. Вместо этого используйте display-graphic-p или любой другой из предикатов display-*-p, описанных в разделе Проверка возможностей дисплея.
Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Window-Systems.html