Создание фреймов
Для создания нового фрейма вызовите функцию make-frame.
- Команда: make-frame &опциональные параметры
-
Эта функция создаёт и возвращает новый фрейм, отображая текущий буфер.
Аргумент parameters — это список, который определяет параметры фрейма для нового фрейма. См. Параметры фрейма. Если вы укажете параметр
terminalв parameters, новый фрейм будет создан на этом терминале. В противном случае, если вы укажете параметрwindow-systemфрейма в parameters, это определит, должен ли фрейм отображаться на текстовом терминале или графическом терминале. См. Системы окон. Если ни один из них не указан, новый фрейм создаётся в том же терминале, что и выбранный фрейм.Любые параметры, не упомянутые в parameters, по умолчанию принимают значения в списке
default-frame-alist(см. Начальные параметры); параметры, не указанные там, по умолчанию берутся из ресурсов X или их аналогов в вашей операционной системе (см. Ресурсы X в Руководстве по GNU Emacs). После создания фрейма эта функция применяет любые параметры, указанные вframe-inherited-parameters(см. ниже), если им ещё не было присвоено значение, беря значения из фрейма, который был выбран при вызовеmake-frame.Обратите внимание, что на многомониторных дисплеях (см. Множественные терминалы) менеджер окон может расположить фрейм иначе, чем указано позиционными параметрами в parameters (см. Параметры позиционирования). Например, некоторые менеджеры окон имеют политику отображения фрейма на мониторе, содержащем большую часть окна (также известный как доминирующий монитор).
Сама функция не делает новый фрейм выбранным. См. Фокус ввода. Предыдущий выбранный фрейм остаётся выбранным. Однако на графических терминалах система окон может выбрать новый фрейм по своим причинам.
- Переменная: before-make-frame-hook
Нормальный обработчик, запускаемый
make-frameперед созданием фрейма.
- Переменная: after-make-frame-functions
Ненормальный обработчик, запускаемый
make-frameпосле создания фрейма. Каждая функция вafter-make-frame-functionsполучает один аргумент — только что созданный фрейм.
Обратите внимание, что любые функции, добавленные в эти обработчики вашим исходным файлом, обычно не запускаются для начального фрейма, поскольку Emacs читает исходный файл только после создания этого фрейма. Однако, если начальный фрейм задан для использования отдельного фрейма минибуфера (см. Минибуферы и фреймы), функции будут выполняться для обоих: фрейма без минибуфера и фрейма минибуфера.
- Переменная: frame-inherited-parameters
Эта переменная определяет список параметров фрейма, которые новый созданный фрейм наследует от текущего выбранного фрейма. Для каждого параметра (символ), который является элементом в этом списке и которому ранее не было присвоено значение при обработке
make-frame, функция устанавливает значение этого параметра в созданном фрейме в его значение в выбранном фрейме.
- Опция пользователя: server-after-make-frame-hook
Нормальный обработчик, запускаемый, когда сервер Emacs создаёт фрейм клиента. Когда этот обработчик вызывается, созданный фрейм является выбранным. См. Сервер Emacs в Руководстве по GNU Emacs.
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/Creating-Frames.html