Spec-Zone.ru › Elisp

Кадры

Кадр — это экранный объект, содержащий одно или несколько окон Emacs (см. Окна). Это объект того типа, который в терминологии графических сред называется «окном»; но здесь мы не можем называть его «окном», поскольку в Emacs это слово используется в другом значении. В Emacs Lisp объект кадра — это объект Lisp, представляющий кадр на экране. См. Тип кадра.

Изначально кадр содержит одно главное окно и/или окно минибуфера; главное окно можно разделить по вертикали или горизонтали на более мелкие окна. См. Разделение окон.

Терминал — это устройство отображения, способное показывать один или несколько кадров Emacs. В Emacs Lisp объект терминала — это объект Lisp, представляющий терминал. См. Тип терминала.

Существует два класса терминалов: текстовые терминалы и графические терминалы. Текстовые терминалы — это дисплеи без поддержки графики, включая xterm и другие эмуляторы терминалов. На текстовом терминале каждый кадр Emacs занимает весь экран терминала; хотя можно создавать дополнительные кадры и переключаться между ними, терминал показывает только один кадр без родителя одновременно. Этот кадр называется верхним кадром данного терминала; его можно получить с помощью описанной ниже функции tty-top-frame. У верхнего кадра могут быть дочерние кадры (см. Дочерние кадры), которые отображаются вместе с ним, но сам он не может быть дочерним кадром.

Графические терминалы, напротив, управляются графическими системами отображения, такими как X Window System, которые позволяют Emacs одновременно показывать несколько кадров на одном дисплее.

В системах GNU и Unix можно создавать дополнительные кадры на любом доступном терминале в рамках одного сеанса Emacs, независимо от того, был ли Emacs запущен на текстовом или графическом терминале. Emacs может одновременно отображать данные и на графических, и на текстовых терминалах. Это удобно, например, когда вы подключаетесь к одному сеансу из нескольких удалённых мест. См. Несколько терминалов.

Функция: framep object

Этот предикат возвращает значение, отличное от nil, если object является кадром, и nil в противном случае. Для кадра значение указывает, какой тип дисплея используется кадром:

t

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

x

Кадр отображается на графическом терминале X.

w32

Кадр отображается на графическом терминале MS-Windows.

ns

Кадр отображается на графическом терминале GNUstep или Macintosh Cocoa.

pc

Кадр отображается на терминале MS-DOS.

haiku

Кадр отображается с помощью Haiku Application Kit.

pgtk

Кадр отображается с использованием только средств GTK.

android

Кадр отображается на устройстве Android.

Функция: frame-terminal &optional frame

Эта функция возвращает объект терминала, на котором отображается frame. Если frame равен nil или не указан, по умолчанию используется выбранный кадр (см. Фокус ввода).

Функция: terminal-live-p object

Этот предикат возвращает значение, отличное от nil, если object является действующим терминалом (то есть не удалён), и nil в противном случае. Для действующих терминалов возвращаемое значение указывает, какие кадры отображаются на этом терминале; список возможных значений совпадает со списком для framep выше.

Функция: frame-initial-p &optional frame

Этот предикат возвращает значение, отличное от nil, если frame является начальным текстовым кадром, который внутренне используется в режиме демона (см. режим демона в Руководстве GNU Emacs), пакетном режиме (см. Пакетный режим) и на ранних этапах запуска (см. Краткое описание: последовательность действий при запуске). Интерактивные и графические программы, например, могут использовать этот предикат, чтобы не работать с начальным кадром, который никогда не отображается.

Если frame является терминалом, эта функция возвращает значение, отличное от nil, если frame содержит начальный кадр. Если аргумент frame опущен или равен nil, по умолчанию используется выбранный кадр.

На графическом терминале различают два типа кадров: обычный кадр верхнего уровня — это кадр, окно оконной системы которого является дочерним окном корневого окна оконной системы данного терминала. Дочерний кадр — это кадр, окно оконной системы которого является дочерним по отношению к окну оконной системы другого кадра Emacs. См. Дочерние кадры.

На текстовом терминале получить его верхний кадр можно с помощью следующей функции:

Функция: tty-top-frame &optional terminal

Эта функция возвращает верхний кадр на terminal. terminal должен быть объектом терминала, кадром (то есть терминалом этого кадра) или nil (то есть терминалом выбранного кадра). Если он не относится к текстовому терминалу, возвращаемое значение — nil. Верхний кадр должен быть корневым кадром, то есть сам не может быть дочерним кадром (см. Дочерние кадры), но от него может происходить произвольное число дочерних кадров.

Функция: frame-id &optional frame

Эта функция возвращает уникальный идентификатор кадра — целое число, присвоенное frame. Если frame равен nil или не указан, по умолчанию используется выбранный кадр (см. Фокус ввода). Это можно использовать для однозначной идентификации кадра в контексте, где вы не хотите или не можете использовать объект кадра.

Восстановленный кадр сохраняет свой идентификатор, если он был удалён с помощью undelete-frame. Кадр, клонированный с помощью clone-frame, не сохраняет исходный идентификатор. См. Команды для работы с кадрами в Руководстве по Emacs.

Идентификаторы кадров не сохраняются с помощью библиотеки desktop (см. Режим сохранения рабочего стола), frameset-to-register или frameset-save, поэтому каждый восстановленный кадр получает новый уникальный идентификатор.

  • Создание кадров
  • Несколько терминалов
  • Геометрия кадра
  • Параметры кадра
  • Параметры терминала
  • Заголовки кадров
  • Удаление кадров
  • Поиск всех кадров
  • Разделение и объединение кадров
  • Минибуферы и кадры
  • Фокус ввода
  • Видимость кадров
  • Поднятие, опускание и изменение порядка кадров
  • Конфигурации кадров
  • Дочерние кадры
  • Отслеживание мыши
  • Положение мыши
  • Всплывающие меню
  • Экранные клавиатуры
  • Диалоговые окна
  • Форма указателя
  • Выделения оконной системы
  • Доступ к выделениям
  • Вставка мультимедийных данных
  • Перетаскивание
  • Названия цветов
  • Цвета текстового терминала
  • Ресурсы 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/Frames.html

Spec-Zone.ru

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