Обычно параметр кадра vertical-scroll-bars управляет тем, имеют ли окна в кадре вертикальные полосы прокрутки и находятся ли они слева или справа. Параметр кадра scroll-bar-width задаёт их ширину (nil означает значение по умолчанию).
Параметр кадра horizontal-scroll-bars управляет тем, имеют ли окна в кадре горизонтальные полосы прокрутки. Параметр кадра scroll-bar-height задаёт их высоту (nil означает значение по умолчанию). См. Параметры компоновки.
Горизонтальные полосы прокрутки доступны не на всех платформах. Функция horizontal-scroll-bars-available-p, которая не принимает аргументов, возвращает не nil, если они доступны в вашей системе.
Следующие три функции принимают в качестве аргумента активный кадр, который по умолчанию равен выбранному.
Эта функция сообщает типы полос прокрутки для кадра frame. Возвращаемое значение — это ячейка cons (vertical-type . horizontal-type), где vertical-type может быть left, right или nil (что означает отсутствие вертикальной полосы прокрутки). horizontal-type может быть bottom или nil (что означает отсутствие горизонтальной полосы прокрутки).
Эта функция возвращает ширину вертикальных полос прокрутки кадра frame в пикселях.
Эта функция возвращает высоту горизонтальных полос прокрутки кадра frame в пикселях.
Вы можете переопределить настройки для конкретного кадра для отдельных окон с помощью следующей функции:
Эта функция устанавливает ширину и/или высоту, а также типы полос прокрутки для окна window. Если window равен nil, используется выбранное окно.
width задаёт ширину вертикальной полосы прокрутки в пикселях (nil означает использование ширины, заданной для кадра). vertical-type указывает, нужна ли вертикальная полоса прокрутки и, если да, где. Возможные значения: left, right, t (что означает использование значения по умолчанию для кадра) и nil (отсутствие вертикальной полосы прокрутки).
height задаёт высоту горизонтальной полосы прокрутки в пикселях (nil означает использование высоты, заданной для кадра). horizontal-type указывает, нужна ли горизонтальная полоса прокрутки. Возможные значения: bottom, t (что означает использование значения по умолчанию для кадра) и nil (отсутствие горизонтальной полосы прокрутки). Обратите внимание, что для мини-окна значение t имеет тот же смысл, что и nil, а именно — не показывать горизонтальную полосу прокрутки. Чтобы показать горизонтальную полосу прокрутки в мини-окне, необходимо явно указать bottom.
Если окно window недостаточно велико, чтобы вместить полосу прокрутки желаемого размера, соответствующая полоса прокрутки остаётся без изменений.
Значения, заданные здесь, могут быть впоследствии переопределены вызовом set-window-buffer (см. Буферы и окна) для окна window с аргументом keep-margins, равным nil или опущенным. Однако, если необязательный пятый аргумент persistent не равен nil и остальные аргументы обработаны успешно, заданные здесь значения безусловно сохраняются при последующих вызовах set-window-buffer.
Используя аргумент persistent функций set-window-scroll-bars и set-window-fringes (см. Размер и положение полей), вы можете надёжно и постоянно отключать полосы прокрутки и/или поля в любом окне мини-буфера, добавив следующий фрагмент в ваш ранний init-файл (см. Init-файл).
(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)))
Следующие четыре функции принимают в качестве аргумента активное окно, которое по умолчанию равно выбранному.
Эта функция возвращает список вида (width columns vertical-type height lines horizontal-type persistent).
Значение width — это значение, которое было задано для ширины вертикальной полосы прокрутки (может быть nil); columns — это (возможно, округлённое) количество столбцов, которое вертикальная полоса прокрутки фактически занимает.
Значение height — это значение, которое было задано для высоты горизонтальной полосы прокрутки (может быть nil); lines — это (возможно, округлённое) количество строк, которое горизонтальная полоса прокрутки фактически занимает.
Значение persistent — это значение, заданное для окна window при последнем успешном вызове set-window-scroll-bars, или nil, если такого вызова не было.
Эта функция сообщает тип полосы прокрутки для окна window. Возвращаемое значение — это ячейка cons (vertical-type . horizontal-type). В отличие от window-scroll-bars, эта функция сообщает фактически используемый тип полосы прокрутки с учётом значений по умолчанию для кадра и scroll-bar-mode.
Эта функция возвращает ширину в пикселях вертикальной полосы прокрутки окна window.
Эта функция возвращает высоту в пикселях горизонтальной полосы прокрутки окна window.
Если вы не задаёте настройки полос прокрутки окна через set-window-scroll-bars, то буферно-локальные переменные vertical-scroll-bar, horizontal-scroll-bar, scroll-bar-width и scroll-bar-height в отображаемом буфере управляют полосами прокрутки окна. Функция set-window-buffer проверяет эти переменные. Если вы измените их в буфере, который уже отображается в окне, вы можете заставить окно принять новые значения, вызвав set-window-buffer с тем же буфером, который уже отображается.
Вы можете управлять внешним видом полос прокрутки для конкретного буфера, установив следующие переменные, которые автоматически становятся буферно-локальными при установке.
Эта переменная задаёт расположение вертикальной полосы прокрутки. Возможные значения: left, right, t (что означает использование значения по умолчанию для кадра) и nil (отсутствие полосы прокрутки).
Эта переменная задаёт расположение горизонтальной полосы прокрутки. Возможные значения: bottom, t (что означает использование значения по умолчанию для кадра) и nil (отсутствие полосы прокрутки).
Эта переменная задаёт ширину вертикальных полос прокрутки буфера, измеряемую в пикселях. Значение nil означает использование значения, заданного для кадра.
Эта переменная задаёт высоту горизонтальной полосы прокрутки буфера, измеряемую в пикселях. Значение nil означает использование значения, заданного для кадра.
Наконец, вы можете переключать отображение полос прокрутки на всех кадрах, настраивая переменные scroll-bar-mode и horizontal-scroll-bar-mode.
Эта переменная управляет тем, где и нужно ли размещать вертикальные полосы прокрутки во всех кадрах. Возможные значения: nil (отсутствие полос прокрутки), left (размещение полос прокрутки слева) и right (размещение полос прокрутки справа).
Эта переменная управляет отображением горизонтальных полос прокрутки на всех кадрах.