Проверка возможностей дисплея
Функции в этом разделе описывают основные возможности конкретного дисплея. Программы на Lisp могут использовать их, чтобы адаптировать свое поведение к возможностям дисплея. Например, программа, которая обычно использует всплывающее меню, может использовать минибуфер, если всплывающие меню не поддерживаются.
Необязательный аргумент display в этих функциях указывает, о каком дисплее следует задать вопрос. Это может быть имя дисплея, кадр (указывающий на дисплей, к которому он относится) или nil (обозначающий дисплей выбранного кадра; см. раздел Фокус ввода).
См. разделы Названия цветов и Цвета текстового терминала, где описаны другие функции для получения информации о дисплеях.
Эта функция возвращает
t, если на display поддерживаются всплывающие меню, иnil, если нет. Для поддержки всплывающих меню требуется наличие мыши, поскольку меню появляется при щелчке мышью по некоторой части дисплея Emacs.
- Функция: display-graphic-p &optional display
Эта функция возвращает
t, если display является графическим дисплеем, способным одновременно отображать несколько кадров и несколько разных шрифтов. Это верно для дисплеев, использующих оконную систему, такую как X, и неверно для текстовых терминалов.
- Функция: display-mouse-p &optional display
-
Эта функция возвращает
t, если для display доступна мышь, иnil, если нет.
- Функция: display-color-p &optional display
Эта функция возвращает
t, если экран цветной.
- Функция: display-grayscale-p &optional display
Эта функция возвращает
t, если экран может отображать оттенки серого. (Это умеют все цветные дисплеи.)
- Функция: display-supports-face-attributes-p attributes &optional display
-
Эта функция возвращает значение, отличное от
nil, если поддерживаются все атрибуты лица из attributes (см. раздел Атрибуты лиц).Определение понятия «поддерживается» в некоторой степени основано на эвристике, но в основном означает, что лицо, содержащее все атрибуты из attributes, при объединении с лицом по умолчанию для дисплея может быть представлено так, чтобы
- отличаться по внешнему виду от лица по умолчанию и
- соответствовать смыслу заданных атрибутов, пусть и не точно.
Из пункта (2) следует, что атрибут
:weight blackбудет считаться поддерживаемым любым дисплеем, способным отображать жирный шрифт, как и:foreground "yellow", если можно отобразить какой-либо желтоватый цвет; однако:slant italicне будет считаться поддерживаемым из-за автоматической замены курсива на тусклое лицо кодом отображения tty.
- Функция: display-selections-p &optional display
Эта функция возвращает
t, если display поддерживает выделения. Оконные дисплеи обычно поддерживают выделения, но они могут поддерживаться и в некоторых других случаях.
- Функция: display-images-p &optional display
Эта функция возвращает
t, если display может отображать изображения. Оконные дисплеи в принципе должны поддерживать изображения, но в некоторых системах для этого отсутствует необходимая поддержка. На дисплее, не поддерживающем изображения, Emacs не может отображать панель инструментов.
- Функция: display-screens &optional display
Эта функция возвращает количество экранов, связанных с дисплеем.
- Функция: display-pixel-height &optional display
-
Эта функция возвращает высоту экрана в пикселях. На символьном терминале она возвращает высоту в символах.
Для графических терминалов обратите внимание: в конфигурациях с несколькими мониторами это значение соответствует высоте в пикселях всех физических мониторов, связанных с display. См. раздел Несколько терминалов.
- Функция: display-pixel-width &optional display
-
Эта функция возвращает ширину экрана в пикселях. На символьном терминале она возвращает ширину в символах.
Для графических терминалов обратите внимание: в конфигурациях с несколькими мониторами это значение соответствует ширине в пикселях всех физических мониторов, связанных с display. См. раздел Несколько терминалов.
- Функция: display-mm-height &optional display
-
Эта функция возвращает высоту экрана в миллиметрах или
nil, если Emacs не может получить эту информацию.Для графических терминалов обратите внимание: в конфигурациях с несколькими мониторами это значение соответствует высоте всех физических мониторов, связанных с display. См. раздел Несколько терминалов.
- Функция: display-mm-width &optional display
-
Эта функция возвращает ширину экрана в миллиметрах или
nil, если Emacs не может получить эту информацию.Для графических терминалов обратите внимание: в конфигурациях с несколькими мониторами это значение соответствует ширине всех физических мониторов, связанных с display. См. раздел Несколько терминалов.
- Пользовательская переменная: display-mm-dimensions-alist
Эта переменная позволяет пользователю задавать размеры графических дисплеев, возвращаемые
display-mm-heightиdisplay-mm-width, если система предоставляет неверные значения.
- Функция: display-backing-store &optional display
-
Эта функция возвращает сведения о поддержке буферизации содержимого дисплеем. Буферизация содержимого означает сохранение пикселей окон (и их частей), которые не видны, чтобы при появлении на экране их можно было отобразить очень быстро.
Возможные значения: символы
always,when-mappedилиnot-useful. Функция также может вернутьnil, если вопрос неприменим к дисплею определенного типа.
- Функция: display-save-under &optional display
Эта функция возвращает значение, отличное от
nil, если дисплей поддерживает функцию SaveUnder. Эта функция используется всплывающими окнами для сохранения пикселей, которые они закрывают, чтобы их можно было быстро скрыть.
- Функция: display-planes &optional display
Эта функция возвращает количество плоскостей, поддерживаемых дисплеем. Обычно это число битов на пиксель. Для дисплея tty это логарифм по основанию два от количества поддерживаемых цветов.
- Функция: display-visual-class &optional display
Эта функция возвращает визуальный класс экрана. Значение — один из символов
static-gray(ограниченное неизменяемое число оттенков серого),gray-scale(полный диапазон оттенков серого),static-color(ограниченное неизменяемое число цветов),pseudo-color(ограниченное число цветов),true-color(полный диапазон цветов) иdirect-color(полный диапазон цветов).
- Функция: display-color-cells &optional display
Эта функция возвращает количество цветовых ячеек, поддерживаемых экраном.
Эти функции получают дополнительную информацию об оконной системе, используемой там, где Emacs отображает указанный display. (По историческим причинам их имена начинаются с x-.)
- Функция: x-server-version &optional display
Эта функция возвращает список номеров версий графической оконной системы, работающей на display, например X-сервера в системах GNU и Unix. Значение представляет собой список из трех целых чисел: основных и дополнительных номеров версии протокола, а также номера выпуска программного обеспечения оконной системы, присвоенного конкретным дистрибьютором. В системах GNU и Unix это обычно версия протокола X и номер выпуска ПО X-сервера, присвоенный конкретным дистрибьютором. В MS-Windows это версия ОС Windows.
- Функция: x-server-vendor &optional display
-
Эта функция возвращает имя поставщика программного обеспечения оконной системы (в виде строки). В системах GNU и Unix под этим подразумевается тот, кто распространяет X-сервер. В MS-Windows это строка идентификатора поставщика ОС Windows (Microsoft).
Когда разработчики X назвали распространителей программного обеспечения «поставщиками», они продемонстрировали ошибочное предположение, будто ни одна система не может быть разработана и распространена некоммерческим образом.
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/Display-Feature-Testing.html