Spec-Zone.ru › Elisp

Отображение буферов в боковых окнах

Следующая функция действия для display-buffer (см. Функции действия отображения буферов) создает или повторно использует боковое окно для отображения указанного буфера.

Функция: display-buffer-in-side-window buffer alist

Эта функция отображает buffer в боковом окне выбранной рамки. Она возвращает окно, используемое для отображения buffer, nil если такое окно не может быть найдено или создано.

alist — это список ассоциаций символов и значений, как и для display-buffer. Следующие символы в alist являются специальными для этой функции:

side

Обозначает сторону рамки, где должно располагаться окно. Допустимые значения — left, top, right и bottom. Если не указано, окно располагается в нижней части рамки.

slot

Обозначает слот на указанной стороне, где будет расположено окно. Значение 0 означает предпочтительное расположение окна посредине указанной стороны. Отрицательное значение означает использование слота, предшествующего (то есть, выше или слева от) среднего слота. Положительное значение означает использование слота, следующего за (то есть, ниже или справа от) среднего слота. Таким образом, все окна на конкретной стороне упорядочены по их значению slot. Если не указано, окно располагается посредине указанной стороны.

dedicated

Флаг выделенного окна (см. Выделенные окна) имеет немного другое значение для боковых окон. При создании бокового окна этот флаг устанавливается в значение side, чтобы предотвратить display-buffer использование окна в других функциях действия. Его значение сохраняется при вызовах quit-window, kill-buffer, previous-buffer и next-buffer.

В частности, эти команды воздержатся от показа в боковом окне буферов, которые не отображались в этом окне ранее. Они также воздержатся от отображения обычного, не бокового окна, буфера, который уже отображался в боковом окне. Заметное исключение из последнего правила возникает, когда приложение, после отображения буфера, сбрасывает локальные переменные этого буфера. Чтобы переопределить эти правила и всегда удалять боковое окно с quit-window или kill-buffer, и в конечном итоге предотвратить использование previous-buffer и next-buffer, установите это значение в t или укажите значение через display-buffer-mark-dedicated.

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

Эта функция устанавливает параметры window-side и window-slot (см. Параметры окна) и делает их постоянными. Она не устанавливает другие параметры окна, если они не были явно предоставлены через запись window-parameters в alist.

По умолчанию боковые окна не могут быть разделены с помощью split-window (см. Разделение окон). Также боковое окно не используется или не разделяется никакими действиями отображения буфера (см. Функции действия отображения буферов), если это не указано явно как цель этого действия. Обратите также внимание, что delete-other-windows не может сделать боковое окно единственным окном в своей рамке (см. Удаление окон).

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/Displaying-Buffers-in-Side-Windows.html

Spec-Zone.ru

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