Системы окон
Emacs работает с несколькими системами окон, в частности с X Window System. Как Emacs, так и X используют термин «окно», но по-разному. Кадр Emacs является одним окном с точки зрения X; отдельные окна Emacs X вообще не известны.
- Переменная: window-system
-
Эта локальная переменная терминала сообщает программам Lisp, какую систему окон использует Emacs для отображения кадра. Возможные значения:
x-
Emacs отображает кадр с помощью X.
w32Emacs отображает кадр с помощью собственной графической оболочки MS-Windows.
nsEmacs отображает кадр с помощью интерфейса Nextstep (используется в GNUstep и macOS).
pcEmacs отображает кадр, используя прямые записи на экран MS-DOS.
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-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Window-Systems.html