Emacsは複数のウィンドウシステムで機能しますが、特にXウィンドウシステムにおいてもっとも機能します。EmacsとXはどちらも“ウィンドウ”を使用しますが異なる使い方をします。EmacsのフレームはXにおいては単一のウィンドウです。Emacsの個々のウィンドウについては、Xはまったく関知しません。
この端末ローカルな変数は、Emacsがフレームを表示するのに何のウィンドウシステムを使用しているかを示す。可能な値は、
xEmacsはXを使用してフレームを表示している。
w32EmacsはネイティブMS-Windows GUIを使用してフレームを表示している。
nsEmacsはNextstepインターフェイスを使用してフレームを表示している(GNUstepとmacOSで使用されている)。
pcEmacsはMS-DOSのスクリーン直接書き込みを使用してフレームを表示している。
nilEmacsは文字ベース端末を使用してフレームを表示している。
この変数はスタートアップの間にEmacsが作成する最初のフレームにたいして使用されるwindow-systemの値を保持する(Emacsを--daemonオプションで呼び出し時には初期フレームを作成しないので、依然としてw32であるMS-Windowsを除いてinitial-window-systemはnil。daemon in The GNU Emacs Manualを参照)。
この関数はframeを表示するために使用されているウィンドウシステムを示す名前のシンボルをリターンする。この関数がリターンし得るシンボルのリストは変数window-systemの記述と同様。
テキスト端末とグラフィカルなディスプレイで異なる処理を行うコードを記述したいときは、window-systemとinitial-window-systemを述語やブーリーンフラグ変数として使用しないでください。これは与えられたディスプレイタイプでのEmacsの能力指標としてwindow-systemが適していないからです。かわりにdisplay-graphic-p、またはDisplay Feature Testingで説明しているその他の述語display-*-pを使用してください。