Spec-Zone.ru › Elisp

Поиск всех кадров

Функция: frame-list

Эта функция возвращает список всех активных кадров, то есть тех, которые не были удалены. Она аналогична buffer-list для буферов и включает кадры на всех терминалах, за исключением кадров всплывающих подсказок (см. Всплывающие подсказки). Возвращаемый список создаётся заново, поэтому его изменение никак не влияет на внутренние структуры Emacs.

Функция: visible-frame-list

Эта функция возвращает список только текущих видимых кадров. См. Видимость кадров. Кадры на текстовых терминалах считаются видимыми, хотя фактически отображается только выбранный кадр.

Функция: frame-list-z-order &optional display

Эта функция возвращает список кадров Emacs в Z-порядке (порядке наложения; см. Поднятие, опускание и изменение порядка кадров). Необязательный аргумент display указывает, какой дисплей следует опрашивать. display должен быть кадром или именем дисплея (строкой). Если аргумент опущен или равен nil, используется дисплей выбранного кадра. Функция возвращает nil, если display не содержит ни одного кадра Emacs.

Кадры перечисляются от самого верхнего (первого) до самого нижнего (последнего). В особом случае, если display не равен nil и указывает на активный кадр, функция возвращает дочерние кадры этого кадра в Z-порядке (порядке наложения).

Эта функция не имеет смысла на текстовых терминалах.

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

Эта функция позволяет удобно циклически перебирать все кадры на определённом терминале, начиная с произвольного кадра. Она возвращает кадр, следующий за frame в списке всех активных кадров на терминале frame. Аргумент frame должен указывать на активный кадр; по умолчанию используется выбранный кадр. Функция не возвращает кадр, параметр no-other-frame которого (см. Параметры взаимодействия кадров) не равен nil.

Второй аргумент, minibuf, указывает, какие кадры следует учитывать при выборе следующего кадра:

nil

Учитывать все кадры, кроме кадров, содержащих только минибуфер.

visible

Учитывать только видимые кадры.

0

Учитывать только видимые кадры или кадры, свёрнутые в значок.

окно

Учитывать только кадры, использующие это конкретное окно в качестве окна минибуфера.

любое другое значение

Учитывать все кадры.

Если эта функция не находит подходящий кадр, она возвращает frame, даже если он не соответствует аргументу minibuf или его параметру no-other-frame.

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

Подобно next-frame, но перебирает все кадры в обратном направлении.

См. также next-window и previous-window в разделе Циклический порядок окон.

Некоторым программам на Lisp необходимо находить один или несколько кадров, соответствующих заданным критериям. Для этой цели предусмотрена функция filtered-frame-list.

Функция: filtered-frame-list predicate

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

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/Finding-All-Frames.html

Spec-Zone.ru

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