Next: , Up: Windows   [Contents][Index]


27.1 Basic Concepts of Emacs Windows

ウィンドウ(window)とは、任意のバッファーを表示するために使用される、スクリーンの領域です。Emacs Lispでは、ウィンドウはスペシャルLispオブジェクトとして表現されます。

ウィンドウは、フレームへとグループ化されます(Framesを参照)。それぞれのフレームは、最低でも1つのウィンドウを含みます。ユーザーは、複数のバッファーを1度に閲覧するために、それを複数のオーバーラップしないウィンドウに分割することができます。Lispプログラムは、さまざまな目的にたいして、複数のウィンドウを使用できます。たとえばRmailでは、1つのウィンドウでメッセージタイトル、もう一方のウィンドウで選択したメッセージのコンテンツを閲覧できます。

Emacsは、グラフィカルなデスクトップ環境や、X Window Systemのようなウィンドウシステムとは異なる意味で、“ウィンドウ(window)”という単語を使用します。EmacsがX上で実行されているときは、XのグラフィカルなXウィンドウは、Emacsでの(1つ以上のEmacsウィンドウを含んだ)フレームになります。Emacsがテキスト端末上で実行されているときは、フレームが端末スクリーン全体を占有します。

Xのウィンドウとは異なり、Emacsのウィンドウはタイル表示(tiled)され、フレームの領域内でオーバーラップされることは決してありません。あるウィンドウが作成、リサイズ、削除されるとき、変更されたウィンドウスペースの変更は各ウィンドウの調整により取得・譲与されるので、そのフレームの総領域に変化はありません。

Function: windowp object

この関数は、objectがウィンドウ(バッファーの表示有無に関わらず)ならt、それ以外はnilをリターンする。

生きたウィンドウ(live window)とは、あるフレーム内で実際にバッファーを表示しているウィンドウのことです。

Function: window-live-p object

この関数は、objectが生きたウィンドウならt、それ以外はnilをリターンする。生きたウィンドウとは、バッファーを表示するウィンドウのこと。

各フレーム内のウィンドウは、ウィンドウツリー(window tree)内へと組織化されます。Windows and Framesを参照してください。それぞれのウィンドウツリーのリーフノード(leaf nodes)は、実際にバッファーを表示している生きたウィンドウです。ウィンドウツリーの内部ノード(internal node)は内部ウィンドウ(internal windows)と呼ばれ、これらは生きたウィンドウではありません。

有効なウィンドウ(valid window)とは、生きたウィンドウか、内部ウィンドウのいずれかです。有効なウィンドウにたいしては、それを削除(delete)、すなわちそのウィンドウのフレームから削除することができます(Deleting Windowsを参照)。その場合、それは有効なウィンドウではなくなりますが、それを表すLispオブジェクトは依然として他のLispオブジェクトから参照されたままかもしれません。削除されたウィンドウは、保存されたウィンドウ設定(window configuration)をリストアすることにより、再び有効になるかもしれません(Window Configurationsを参照)。

window-valid-pにより、削除されたウィンドウから有効なウィンドウを区別できます。

Function: window-valid-p object

この関数は、objectが生きたウィンドウ、またはウィンドウツリー内の内部ウィンドウの場合は、tをリターンする。それ以外(objectが削除されたウィンドウの場合も含む)は、nilをリターンする。

それぞれのフレーム内において、常にただ1つのEmacsウィンドウがそのフレームで選択されている(selected within the frame)もとして指定されます。選択されたフレームにたいしては、そのウィンドウは選択されたウィンドウ(selected window)と呼ばれます。選択されたウィンドウは、編集のほとんどが行われるウィンドウであり、選択されたウィンドウに表示されるカーソルがあるウィンドウです(Cursor Parametersを参照)。選択されたウィンドウのバッファーは通常は、set-bufferが使用された場合を除き、カレントバッファーでもあります(Current Bufferを参照)。選択されていないフレームでは、そのフレームが選択されたときは、そのフレームで選択されていたウィンドウが選択されたウィンドウになります。Selecting Windowsを参照してください。

Function: selected-window

この関数は、選択されたウィンドウをリターンする(これは常に生きたウィンドウである)。