Поиск всех кадров
- Функция: 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