フレームパラメーターvertical-scroll-bars
はそのフレーム内のウィンドウが垂直スクロールバーをもつべきかと、それらが左か右のいずれかに配置されるべきかを通常は制御します。フレームパラメーターscroll-bar-width
はそれらの幅を指定します(nil
はデフォルトを意味する)。
フレームパラメーターhorizontal-scroll-bars
はフレーム内のウィンドウが水平スクロールバーをもつかどうかを制御します。フレームパラメーターscroll-bar-height
はそれらの高さを指定します(nil
はデフォルトを意味する)。レイアウトのパラメーターを参照のしてください。
水平スクロールバーはすべてのプラットフォームで利用可能ではありません。引数を受け取らない関数horizontal-scroll-bars-available-p
は、システム上で水平スクロールバーが利用可能なら非nil
をリターンします。
以下の3つの関数は引数として生きたフレームを受け取り、デフォルトは選択されたフレームです。
この関数はフレームframeのスクロールバーのタイプを報告する。値はコンスセル(vertical-type .
horizontal-type)
。ここでvertical-typeはleft
、right
、またはnil
(スクロールバーなしを意味する)のいずれか。horizontal-typeはbottom
かnil
(水平スクロールバーなしを意味する)のいずれか。
この関数はウィンドウwindowにたいして垂直スクロールバーの幅をピクセル単位でリターンする。
この関数はframeの水平スクロールバーの高さをピクセル単位でリターンする。
以下の関数を使用することにより、特定のウィンドウにたいするフレーム固有のセッティングをオーバーライドできます:
この関数はウィンドウwindowのスクロールバーの幅および/または高さ、およびタイプをセットする。windowがnil
なら選択されたウィンドウが使用される。
widthはピクセル単位で垂直スクロールバーの幅を指定する(nil
はそのフレームにたいして指定された幅の使用を意味する)。vertical-typeは垂直スクロールバーをもつかどうか、もつ場合にはその位置を指定する。可能な値はleft
、right
、t
(フレームのデフォルトの使用を意味する)、垂直スクロールバーなしならnil
のいずれか。
heightはピクセル単位で水平スクロールバーの高さを指定する(nil
はそのフレームにたいして指定された高さの使用を意味する)。horizontal-typeは水平スクロールバーをもつかどうかを指定する。可能な値はbottom
、t
(フレームのデフォルトの使用を意味する)、水平スクロールバーなしならnil
のいずれか。ミニウィンドウにたいして値t
はnil
、すなわち水平スクロールバーを表示しないことを意味することに注意。ミニウィンドウで水平スクロールバーを表示するためには、明示的にbottom
を指定する必要がある。
期待するサイズのスクロールバーを収容するのにwindowが十分大きくなければ、windowのスクロールバーは未変更のままになる。
ここで指定した値はwindowにたいする引数keep-marginsがnil
か省略したset-window-buffer
(バッファーとウィンドウを参照)の呼び出しにより後からオーバーライドされるかもしれない。しかしオプションの1つ目の引数persistentが非nil
、かつ他の引数が成功裏に処理されたなら、ここで指定された値は後続のset-window-buffer
呼び出しに引き継がれる。
set-window-scroll-bars
およびset-window-fringes
(フリンジのサイズと位置を参照)のpersistent引数を使用すれば、以下のスニペットを早期initファイル(early init
file)に追加することにより、すべてのミニバッファーウィンドウでスクロールバーおよび/またはフリンジを信頼性をもって永続的にオフにすることができます(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)))
以下の4つの関数は引数として生きたウィンドウを受け取り、デフォルトは選択されたウィンドウです。
この関数は(width columns vertical-type height
lines horizontal-type persistent)
という形式のリストをリターンする。
値widthは垂直スクロールバーの幅に指定された値(nil
もあり得る)。columnsは垂直スクロールバーが実際に占有する列数(丸められているかもしれない)。
値heightは水平スクロールバーの高さに指定された値(nil
もあり得る)。linesは水平スクロールバーが実際に占有する行数(丸められているかもしれない)。
persistentの値は最後に成功裏にset-window-scroll-bars
を呼び出した際にwindowに指定した値、そのような呼び出しがなければnil
。
この関数はウィンドウwindowにたいするスクロールバータイプを報告する。値はコンスセル(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
のいずれか。
この変数はすべてのフレームに水平スクロールバーを表示するかどうかを制御する。