Spec-Zone.ru › Elisp

Параметры и функции боковых окон

Следующие параметры предоставляют дополнительный контроль над размещением боковых окон.

Параметр пользователя: window-sides-vertical

Если не nil, боковые окна слева и справа от фрейма занимают всю высоту фрейма. В противном случае, боковые окна сверху и снизу фрейма занимают всю ширину фрейма.

Параметр пользователя: window-sides-slots

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

Если любое из указанных значений равно нулю, на соответствующей стороне не может быть создано ни одного окна. display-buffer-in-side-window не будет сигнализировать об ошибке в этом случае, но вернёт nil. Если указанное значение просто запрещает создание дополнительного бокового окна, наиболее подходящее окно с этой стороны будет повторно использовано, и его параметр window-slot может быть соответствующим образом изменён.

Параметр пользователя: window-sides-reversed

Этот параметр определяет, должны ли боковые окна сверху/снизу отображаться в обратном порядке. Когда это nil, боковые окна сверху и снизу фрейма всегда рисуются слева направо с возрастанием значений слотов. Когда это t, порядок рисования меняется и боковые окна сверху и снизу фрейма рисуются справа налево с возрастанием значений слотов.

Когда это bidi, порядок рисования меняется только тогда, когда значение bidi-paragraph-direction (см. Взаимное отображение) равно right-to-left в буфере, отображаемом в окне, которое было выбрано в последний раз в основной области окна этого фрейма. Иногда это окно трудно найти, поэтому используются эвристики, чтобы избежать непреднамеренного изменения порядка рисования при выборе другого окна.

Макет боковых окон слева или справа от фрейма не зависит от значения этой переменной.

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

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

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

Если у frame нет боковых окон, он возвращает корневое окно frame. В противном случае он возвращает либо внутреннее окно, не являющееся боковым, такое, что все остальные окна, не являющиеся боковыми, на frame являются его потомками, или единственное активное окно, не являющееся боковым, для frame. Обратите внимание, что основное окно фрейма нельзя удалить с помощью delete-window.

Следующая команда полезна для переключения видимости всех боковых окон на указанном фрейме.

Команда: window-toggle-side-windows &optional frame

Эта команда переключает боковые окна на указанном frame. Необязательный аргумент frame должен быть активным фреймом и по умолчанию равен выбранному.

Если у frame есть хотя бы одно боковое окно, эта команда сохраняет состояние корневого окна frame в параметре фрейма frame window-state и затем удаляет все боковые окна на frame.

Если у frame нет боковых окон, но есть параметр window-state, эта команда использует значение этого параметра для восстановления боковых окон на frame, оставив основное окно frame в покое.

Ошибочное сообщение выдаётся, если у frame нет боковых окон и нет сохранённого состояния для него.

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/Side-Window-Options-and-Functions.html

Spec-Zone.ru

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