Next: , Previous: , Up: Minibuffers   [Contents][Index]


20.11 ミニバッファーのウィンドウ

以下の関数はミニバッファーウィンドウにアクセスと選択を行い、それがアクティブかどうかテストしてリサイズされる方法を制御します。

Function: minibuffer-window &optional frame

この関数はフレームframeにたいして使用されるミニバッファーウィンドウをリターンする。framenilならそれは選択されたフレームを意味する。

フレームが使用するミニバッファーウィンドウがフレームの一部である必要はないことに注意(ミニバッファーをもたないフレームは必要に応じて別のフレームのミニバッファーウィンドウを使用する)。ミニバッファーのないフレームのミニバッファーウィンドウは、そのフレームのminibufferフレームパラメーターをセットすることにより変更できる(Buffer Parametersを参照)。

Function: set-minibuffer-window window

この関数はミニバッファーウィンドウとしてwindowを使用するよう指定する。これは通常のミニバッファーコマンドを呼び出さずにミニバッファーにテキストを入力する場合には、ミニバッファーをどこに表示するかに影響を及ぼす。通常のミニバッファー入力関数はすべて選択されたフレームに対応するミニバッファーを選択して開始されるので影響はない。

Function: window-minibuffer-p &optional window

この関数はwindowがミニバッファーウィンドウならnilをリターンする。windowのデフォルトは選択されたウィンドウ。

以下の関数はカレントでアクティブなミニバッファーを表示しているウィンドウをリターンします。

Function: active-minibuffer-window

この関数はカレントでアクティブなミニバッファーのウィンドウ、アクティブなミニバッファーがなければnilをリターンする。

(minibuffer-window)の結果の比較だけでは、与えられたウィンドウがカレントでアクティブなミニバッファーを表示するかどうかを判断するのは不十分である。なぜなら複数のフレームがある場合にはミニバッファーウィンドウも複数あり得る。

Function: minibuffer-window-active-p window

この関数はwindowがカレントでアクティブなミニバッファーを表示するウィンドウなら非nilをリターンする。

以下の2つのオプションはミニバッファーウィンドウが自動的にリサイズされるか否か、およびその処理でミニバッファーが大きくなり得るサイズを制御します。

User Option: resize-mini-windows

このオプションはミニバッファーウィンドウが自動的にリサイズされるかどうかを指定する。デフォルト値はgrow-onlyで、これはミニバッファーが表示するテキストを収容するために、ミニバッファーウィンドウがデフォルトにより自動的に拡張されて、ミニバッファーが空になれば即座に1行に縮小されることを意味する。値がtならEmacsは常にミニバッファーが表示するテキストにミニバッファーウィンドウの高さをフィットさせるように試みる。値がnilならミニバッファーウィンドウのサイズが自動的に変更されることは決してない。この場合には、ミニバッファーウィンドウの高さの調節のために、ウィンドウリサイズコマンドを使用できる(Resizing Windowsを参照)。

User Option: max-mini-window-height

このオプションはミニバッファーウィンドウの自動的なリサイズにたいする最大高さを提供する。浮動小数点数はフレーム高さにたいする割合、整数は最大行数を指定する。デフォルト値は0.25。

上記の2つの変数の値は表示時に効果を発揮するので、エコーエリアのメッセージを生成するコードの前後でこれらの変数をletバインドしても機能しないことに注意してください。長いメッセージを表示する際にミニバッファーウィンドウのリサイズを抑止したければ、かわりにmessage-truncate-lines変数をバインドしてください(Echo Area Customizationを参照)。