Next: , Up: X Resources   [Contents][Index]


D.1 Xリソース

Xウィンドウシステムの下で実行されているプログラムは、クラスとリソースの階層の下にユーザーオプションを組織化します。これらのオプションにたいして、Xリソースファイル(X resource file)でデフォルト値を指定できます。Xリソースファイルは、通常~/.Xdefaultsまたは~/.Xresourcesという名前です。このファイルの内容を変更しても、変更は即座に効果をもちません。これはXサーバーが独自にリソースのリストを保持しているからです。これを更新するには、たとえば‘xrdb ~/.Xdefaults’のように、コマンドxrdbを使用します。

(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’が含まれます(Table of Resourcesを参照してください)。以下のように、リソース名を使用するかわりに、クラス内のすべてのリソースにたいしてデフォルト値を指定するのに、クラス名を使用できます:

emacs.Foreground: dark green

変数inhibit-x-resourcesを非nil値にセットした場合、EmacsはXリソースを処理しません。コマンドラインオプション‘-Q’ (または‘--quick’)でEmacsを呼び出した場合、inhibit-x-resourcesは自動的にtにセットされます(Initial Optionsを参照してください)。

これに加えて、Xリソースファイルをオーバーライドするために、以下のコマンドラインオプションが使用できます:

-name name
--name=name

このオプションは初期Emacsフレームのプログラム名をnameにセットします。これは初期フレームのタイトルもnameにセットします。このオプションは、それ以降のフレームには影響しません。

このオプションを指定しない場合、プログラム名としてEmacs実行可能ファイル名をデフォルトとして使用されます。

整合性のため、‘-name’は、特定のフレームに属さない、他のリソース値にたいして使用する名前も指定します。

Emacs呼び出しの名前がつくリソースは、‘Emacs’という名前のクラスにも所属します。‘emacs’のかわりに‘Emacs’と記述した場合、実行可能ファイル名にかかわらず、そのリソースは、すべてのEmacsジョブのすべてのフレームに適用されます。

-xrm resource-values
--xrm=resource-values

このオプションは、現在のEmacsジョブにたいして、Xリソース値を指定します。

resource-valuesは、Xリソースファイルの内部で使用するのと同じ形式をもつ必要があります。resource-valuesに複数のリソース指定を含めるには、ファイルに記述するときのように、リソース間に改行を置きます。ファイルのリソース指定をすべてインクルードするために、‘#include "filename"’を使用することもできます。‘-xrm’で指定されたリソース値は、他のすべてのリソース指定に優先します。