Emacsは複数のウィンドウシステムに対応しており、中でも特に代表的なのがX Window Systemです。EmacsとXはともに「ウィンドウ」という用語を用いますが、その使い方は異なります。Xの観点から見れば、Emacsのフレームは単一のウィンドウであり、個々のEmacsウィンドウはX側では認識されません。
この端末ローカル変数は、Emacsがフレームの表示にどのウィンドウシステムを使用しているかをLispプログラムに知らせます。取り得る値は以下の通りです。
x ¶EmacsはXを使用してフレームを表示しています。
w32EmacsはネイティブのMS-Windows GUIを使用してフレームを表示しています。
nsEmacsはNextstepインターフェース(GNUstepやmacOSで使用)を用いてフレームを表示しています。
pcEmacsはMS-DOSのダイレクト画面書き込みを用いてフレームを表示しています。
haikuEmacsはHaiku上のApplication Kitを使用してフレームを表示しています。
pgtkEmacsは純粋なGTK機能を用いてフレームを表示しています。
androidEmacsはAndroidでフレームを表示しています。
nilEmacsは文字ベースのターミナルにフレームを表示しています。
この変数には、Emacsの起動時に作成される最初のフレームに使用される window-system
の値が格納されています。(Emacsをデーモンとして起動した場合、初期フレームは作成されないため、initial-window-system は nil
となります。ただし、MS-Windows では依然として w32 となります。The GNU Emacs Manual の daemon
を参照してください。)
この関数は、frame(デフォルトでは現在選択中のフレーム)の表示にどのウィンドウシステムが使用されているかを示す名前を持つシンボルを返します。返される可能性のあるシンボルの一覧は、前述の変数
window-system について記載されているものと同じです。
テキスト端末とグラフィカルディスプレイで動作が異なるコードを記述したい場合は、window-system や initial-window-system を述語やブールフラグ変数として使用しないでください。これは、window-system
が特定のディスプレイタイプにおける Emacs の機能を示す適切な指標ではないためです。代わりに、display-graphic-p または ディスプレイ機能のテスト で説明されている他の display-*-p 述語のいずれかを使用してください。