フレーム(frame)とは、1つ以上のEmacsウィンドウを含むスクリーンオブジェクトです(ウィンドウを参照)。これはグラフィカル環境では“ウィンドウ”と呼ばれる類のオブジェクトです。しかしEmacsはこの単語を異なる方法で使用しているので、ここではそれを“ウィンドウ”と呼ぶことはできません。Emacs Lispにおいてフレームオブジェクト(frame object)とは、スクリーン上のフレームを表すLispオブジェクトです。フレーム型を参照してください。
フレームには最初は1つのメインウィンドウおよび/またはミニバッファーウィンドウが含まれます。メインウィンドウは、より小さいウィンドウに垂直か水平に分割することができます。ウィンドウの分割を参照してください。
端末(terminal)とは1つ以上のEmacsフレームを表示する能力のあるデバイスのことです。Emacs Lispにおいて端末オブジェクト(terminal object)とは端末を表すLispオブジェクトです。端末型を参照してください。
端末にはテキスト端末(text terminals)とグラフィカル端末(graphical
terminals)という2つのクラスがあります。テキスト端末はグラフィック能力をもたないディスプレイであり、xterm
やその他の端末エミュレーターが含まれます。テキスト端末上ではそれぞれのEmacsフレームはその端末のスクリーン全体を占有します。たとえ追加のフレームを作成してそれらを切り替えることができたとしても、端末が表示するのは一度に1つのフレームだけです。一方でグラフィカル端末はXウィンドウシステムのようなグラフィカルディスプレイシステムにより管理されています。これによりEmacsは同一ディスプレイ上に複数のフレームを同時に表示することができます。
GNUおよびUnix systemsシステムでは、単一のEmacsセッション内でそのEmacsがテキスト端末とグラフィカル端末のいずれで開始されたかに関わらず、任意の利用可能な端末上で追加のフレームを作成することができます。Emacsは、グラフィカル端末とテキスト端末の両方を同時に表示することができます。 これはたとえばリモートから同じセッションに接続する際などに便利でしょう。複数の端末を参照してください。
この述語(predicate)はobjectがフレームなら非nil
、それ以外はnil
をリターンする。フレームにたいしてはフレームが使用するディスプレイの種類が値:
t
そのフレームはテキスト端末上で表示されている。
x
そのフレームはXグラフィカル端末上で表示されている。
w32
そのフレームはMS-Windowsグラフィカル端末上で表示されている。
ns
そのフレームはGNUstepかMacintosh Cocoaグラフィカル端末上で表示されている。
pc
そのフレームはMS-DOS端末上で表示されている。
haiku
そのフレームはHaikuアプリケーションキットを使って表示されている。
pgtk
そのフレームはpure GTK機能を使って表示されている。
android
そのフレームはAndroidデバイス上で表示されている。
この関数はframeを表示する端末オブジェクトをリターンする。frameがnil
または未指定の場合のデフォルトは選択されたフレーム。
この述語はobjectが生きた(削除されていない)端末なら非nil
、それ以外はnil
をリターンする。生きた端末にたいしては、リターン値はその端末上で表示されているフレームの種類を示す。可能な値は上述のframep
と同様。
グラフィカルな端末ではフレームを2つのタイプに区別しています。通常のトップレベルフレーム(top-level frame)は、ウィンドウ(ウィンドウシステム)としては端末にたいするルートウィンドウ(ウィンドウシステム)の子であるようなフレームです。子フレーム(child frame)は、ウィンドウ(ウィンドウシステム)としてはEmacsの別フレームのウィンドウ(ウィンドウシステム)の子であるようなフレームです。子フレームを参照してください。