以下のオプションにより、サイドウィンドウの配置をさらに細かく制御できます。
nil
以外の場合、フレームの左右のサイドウィンドウがフレームの全高を占めます。それ以外の場合、フレームの上下のサイドウィンドウがフレームの全幅を占めます。
このオプションでは、フレームの各辺に配置できるサイドウィンドウの最大数を指定します。値は、各フレームの左、上、右、下の各辺におけるサイドウィンドウスロット数を(この順に)指定する4つの要素からなるリストです。要素が数値である場合、対応する辺に最大でその数のウィンドウを表示することを意味します。要素が
nil である場合、その辺のスロット数に制限がないことを意味します。
指定された値のいずれかが 0 の場合、対応する側にウィンドウを作成することはできません。その場合、display-buffer-in-side-window はエラーを通知せず、nil
を返します。指定された値が単に追加のサイドウィンドウの作成を禁止しているだけであれば、その側で最も適切なウィンドウが再利用され、それに応じて window-slot パラメータが変更される場合があります。
このオプションは、上下のサイドウィンドウを逆順に表示するかどうかを指定します。これが nil
の場合、フレームの上下にあるサイドウィンドウは、常にスロット値の増加順に左から右へ描画されます。これが t の場合、描画順が反転し、フレームの上下にあるサイドウィンドウは、スロット値の増加順に右から左へ描画されます。
これが bidi
の場合、描画順序が反転するのは、このフレームのメインウィンドウ領域内で最後に選択されたウィンドウに表示されているバッファにおいて、bidi-paragraph-direction の値(双方向表示 を参照)が right-to-left
である場合に限られます。場合によってはそのウィンドウを見つけるのが困難なことがあるため、別のウィンドウが選択された際に描画順序が意図せず変更されるのを防ぐべく、ヒューリスティックが用いられます。
フレームの左右にあるサイドウィンドウの配置は、この変数の値の影響を受けません。
フレームにサイドウィンドウがある場合、次の関数はそのフレームのメインウィンドウを返します。
この関数は、指定された frame のメインウィンドウを返します。オプション引数 frame はライブフレームである必要があり、デフォルトでは選択されているものが指定されます。
frame にサイドウィンドウがない場合、frame
のルートウィンドウを返します。そうでない場合は、frame
上の他のすべての非サイドウィンドウがそこから派生するような内部の非サイドウィンドウか、あるいは frame
の唯一のアクティブな非サイドウィンドウのいずれかを返します。なお、フレームのメインウィンドウを delete-window 経由で削除することはできません。
以下のコマンドは、指定したフレーム上のすべてのサイドウィンドウの表示・非表示を切り替えるのに便利です。
このコマンドは、指定した frame のサイドウィンドウを切り替えます。オプション引数 frame はライブフレームである必要があり、デフォルトでは選択中のフレームが指定されます。
frame に少なくとも1つのサイドウィンドウがある場合、このコマンドは frame のルートウィンドウの状態を frame の window-state フレームパラメータに保存し、その後 frame 上のすべてのサイドウィンドウを削除します。
frame にサイドウィンドウがなく、window-state パラメータがある場合は、このコマンドはそのパラメータの値を用いて frame のサイドウィンドウを復元し、frame
のメインウィンドウはそのままにします。
frame にサイドウィンドウがなく、かつ保存済みの状態も見つからない場合、エラーが報告されます。