Xウィンドウシステムの下で実行されているプログラムは、クラスとリソースの階層の下にユーザーオプションを組織化します。これらのオプションにたいして、Xリソースファイル(X
resource
file)でデフォルト値を指定できます。Xリソースファイルは、通常~/.Xdefaultsまたは~/.Xresourcesという名前です。このファイルの内容を変更しても、変更は即座に効果をもちません。これはXサーバーが独自にリソースのリストを保持しているからです。これを更新するには、たとえば‘xrdb
~/.Xdefaults’のように、コマンドxrdb
を使用します。
一般的にXリソースを通じて指定されたセッティングは、特に初期フレームのパラメーター(フレームパラメーターを参照)に関して、Emacsのinitファイル(Emacs初期化ファイルを参照)のセッティングをオーバーライドします。
(MS-WindowsシステムはXリソースファイルをサポートしません。そのようなシステムでは、EmacsはWindowsレジストリーの中からXリソースを探します。最初にキー‘HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs’の下を探します。これはカレントユーザーだけに影響し、システムワイドなセッティングをオーバーライドします。次にキー‘HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs’の下を探します。これはシステムのすべてのユーザーに影響します。メニューとスクロールバーは、MS-Windowsのネイティブなウィジェットなので、Display Control Panelのシステムワイドなセッティングからしかカスタマイズできません。以下で説明するように、コマンドラインオプション‘-xrm’を使用して、リソースをセットすることもできます。)
Xリソースファイルの各行は、1つのオプション、または関連するオプションのコレクションにたいして値を指定します。ファイル内で行が出現する順番に意味はありません。各リソース指定は、プログラム名(program name)とリソース名(resource name)から構成されます。これらの名前の大文字小文字は区別されます。以下は例です:
emacs.cursorColor: dark green
プログラム名は、そのリソースが適用される実行可能ファイルの名前です。Emacsでは通常、‘emacs’です。Emacsの実行可能ファイル名の如何にかかわらずに、Emacsのすべてのインスタンスに適用される定義を指定するには、‘Emacs’を使用します。
リソース名はプログラムセッティングの名前です。たとえばEmacsは、‘cursorColor’リソースを、テキストカーソルのカラーを制御するリソースと認識します。
リソースは、名前のついたクラスにグループ化されます。たとえば‘Foreground’クラスには、リソース‘cursorColor’、‘foreground’、‘pointerColor’が含まれます(EmacsにたいするXリソースの表を参照してください)。以下のように、リソース名を使用するかわりに、クラス内のすべてのリソースにたいしてデフォルト値を指定するのに、クラス名を使用できます:
emacs.Foreground: dark green
変数inhibit-x-resources
を非nil
値にセットした場合、EmacsはXリソースを処理しません。コマンドラインオプション‘-Q’
(または‘--quick’)でEmacsを呼び出した場合、inhibit-x-resources
は自動的にt
にセットされます(初期化オプションを参照してください)。
これに加えて、Xリソースファイルをオーバーライドするために、以下のコマンドラインオプションが使用できます:
このオプションは初期Emacsフレームのプログラム名をnameにセットします。これは初期フレームのタイトルもnameにセットします。このオプションは、それ以降のフレームには影響しません。
このオプションを指定しない場合、プログラム名としてEmacs実行可能ファイル名をデフォルトとして使用されます。
整合性のため、‘-name’は、特定のフレームに属さない、他のリソース値にたいして使用する名前も指定します。
Emacs呼び出しの名前がつくリソースは、‘Emacs’という名前のクラスにも所属します。‘emacs’のかわりに‘Emacs’と記述した場合、実行可能ファイル名にかかわらず、そのリソースは、すべてのEmacsジョブのすべてのフレームに適用されます。
このオプションは、現在のEmacsジョブにたいして、Xリソース値を指定します。
resource-valueは、Xリソースファイルの内部で使用するのと同じ形式をもつ必要があります。複数のリソース指定を含めるために、複数の‘-xrm’オプションを利用可能です。‘#include \"filename\"’を使用して、ファイルのリソース指定をすべてインクルードすることもできます。‘-xrm’で指定されたリソース値は、他のすべてのリソース指定に優先します。