Spec-Zone.ru › Elisp

Скролл-панели

Обычно параметр фрейма vertical-scroll-bars управляет тем, будут ли у окон в фрейме вертикальные скролл-панели и где они будут расположены (слева или справа). Параметр фрейма scroll-bar-width определяет их ширину (nil означает значение по умолчанию).

Параметр фрейма horizontal-scroll-bars управляет наличием горизонтальных скролл-панелей в окнах фрейма. Параметр фрейма scroll-bar-height определяет их высоту (nil означает значение по умолчанию). См. Параметры макета.

Горизонтальные скролл-панели недоступны на всех платформах. Функция horizontal-scroll-bars-available-p, которая не принимает аргументов, возвращает не-nil, если они доступны в вашей системе.

Следующие три функции принимают в качестве аргумента живой фрейм, по умолчанию - выбранный.

Функция: frame-current-scroll-bars &optional frame

Эта функция сообщает о типах скролл-панелей для фрейма frame. Значение является ячейкой конс (vertical-type . horizontal-type), где vertical-type может быть left, right, или nil (что означает отсутствие вертикальной скролл-панели). horizontal-type может быть bottom или nil (что означает отсутствие горизонтальной скролл-панели).

Функция: frame-scroll-bar-width &optional frame

Эта функция возвращает ширину вертикальных скролл-панелей фрейма frame в пикселях.

Функция: frame-scroll-bar-height &optional frame

Эта функция возвращает высоту горизонтальных скролл-панелей фрейма frame в пикселях.

Вы можете переопределить настройки скролл-панелей для отдельных окон, используя следующую функцию:

Функция: set-window-scroll-bars window &optional width vertical-type height horizontal-type persistent

Эта функция задает ширину и/или высоту и типы скролл-панелей для окна window. Если window равно nil, используется выбранное окно.

width задаёт ширину вертикальной скролл-панели в пикселях (nil означает использование ширины, заданной для фрейма). vertical-type задаёт наличие и расположение вертикальной скролл-панели. Возможные значения: left, right, t, что означает использование значения по умолчанию для фрейма, и nil для отсутствия вертикальной скролл-панели.

height задаёт высоту горизонтальной скролл-панели в пикселях (nil означает использование высоты, заданной для фрейма). horizontal-type задаёт наличие горизонтальной скролл-панели. Возможные значения: bottom, t, что означает использование значения по умолчанию для фрейма, и nil для отсутствия горизонтальной скролл-панели. Обратите внимание, что для мини-окна значение t имеет то же значение, что и nil, а именно не отображать горизонтальную скролл-панель. Для отображения горизонтальной скролл-панели в мини-окне необходимо явно указать bottom.

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

Установленные здесь значения могут быть переопределены позже вызовом set-window-buffer (см. Буферы и окна) для window с аргументом keep-margins nil или без него. Однако, если необязательный пятый аргумент persistent имеет значение, отличное от nil, а остальные аргументы обработаны успешно, заданные значения сохранятся безусловно после последующих вызовов set-window-buffer.

Используя аргумент persistent функций set-window-scroll-bars и set-window-fringes (см. Размер/Позиция отступов), вы можете надёжно и постоянно отключить скролл-панели и/или отступы в любом окне минибуфера, добавив следующий фрагмент в ваш файл инициализации (см. Файл инициализации).

(add-hook 'after-make-frame-functions
          (lambda (frame)
            (set-window-scroll-bars
             (minibuffer-window frame) 0 nil 0 nil t)
            (set-window-fringes
             (minibuffer-window frame) 0 0 nil t)))

Следующие четыре функции принимают в качестве аргумента живое окно, по умолчанию - выбранное.

Функция: window-scroll-bars &optional window

Эта функция возвращает список вида (width columns vertical-type height lines horizontal-type persistent).

Значение width — это значение, заданное для ширины вертикальной скролл-панели (которое может быть nil); columns — это (возможно, округленное) количество столбцов, занимаемых вертикальной скролл-панелью.

Значение height — это значение, заданное для высоты горизонтальной скролл-панели (которое может быть nil); lines — это (возможно, округленное) количество строк, занимаемых горизонтальной скролл-панелью.

Значение persistent — это значение, заданное для window последним успешным вызовом set-window-scroll-bars, nil если такого вызова не было.

Функция: window-current-scroll-bars &optional window

Эта функция сообщает о типе скролл-панелей для окна window. Значение является ячейкой cons (vertical-type . horizontal-type). В отличие от window-scroll-bars, она сообщает о типе скролл-панели, фактически используемой после учёта значений по умолчанию фрейма и scroll-bar-mode.

Функция: window-scroll-bar-width &optional window

Эта функция возвращает ширину вертикальной скролл-панели окна window в пикселях.

Функция: window-scroll-bar-height &optional window

Эта функция возвращает высоту горизонтальной скролл-панели окна window в пикселях.

Если вы не задаёте настройки скролл-панелей окна через set-window-scroll-bars, локальные переменные буфера vertical-scroll-bar, horizontal-scroll-bar, scroll-bar-width и scroll-bar-height в отображаемом буфере управляют скролл-панелями окна. Функция set-window-buffer проверяет эти переменные. Если вы измените их в буфере, который уже отображается в окне, вы можете заставить окно учесть новые значения, вызвав set-window-buffer, указав тот же буфер, который уже отображается.

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

Переменная: vertical-scroll-bar

Эта переменная задаёт расположение вертикальной скролл-панели. Возможные значения: left, right, t, что означает использование значения по умолчанию для фрейма, и nil для отсутствия скролл-панели.

Переменная: horizontal-scroll-bar

Эта переменная задаёт расположение горизонтальной скролл-панели. Возможные значения: bottom, t, что означает использование значения по умолчанию для фрейма, и nil для отсутствия скролл-панели.

Переменная: scroll-bar-width

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

Переменная: scroll-bar-height

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

Наконец, вы можете переключать отображение скролл-панелей во всех фреймах, настраивая переменные scroll-bar-mode и horizontal-scroll-bar-mode.

Параметр пользователя: scroll-bar-mode

Эта переменная управляет отображением и расположением вертикальных скролл-панелей во всех фреймах. Возможные значения: nil для отсутствия скролл-панелей, left для расположения скролл-панелей слева и right для расположения скролл-панелей справа.

Параметр пользователя: horizontal-scroll-bar-mode

Эта переменная управляет отображением горизонтальных скролл-панелей во всех фреймах.

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/Scroll-Bars.html

Spec-Zone.ru

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