Spec-Zone.ru › Elisp

Оконные системы

Emacs работает с несколькими оконными системами, прежде всего с X Window System. И Emacs, и X используют термин «окно», но вкладывают в него разный смысл. С точки зрения X, кадр Emacs — это отдельное окно; отдельные окна Emacs для X вообще неизвестны.

Переменная: window-system

Эта переменная, локальная для терминала, сообщает программам на Lisp, какую оконную систему Emacs использует для отображения кадра. Возможные значения:

x

Emacs отображает кадр с помощью X.

w32

Emacs отображает кадр с помощью стандартного графического интерфейса MS-Windows.

ns

Emacs отображает кадр с помощью интерфейса Nextstep (используемого в GNUstep и macOS).

pc

Emacs отображает кадр, напрямую записывая данные на экран в MS-DOS.

haiku

Emacs отображает кадр с помощью Application Kit в Haiku.

pgtk

Emacs отображает кадр, используя только средства GTK.

android

Emacs отображает кадр в Android.

nil

Emacs отображает кадр на символьном терминале.

Переменная: 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API