Next: Display Feature Testing, Previous: Text Terminal Colors, Up: Frames [Contents][Index]
このセクションでは、Xリソース、または他のオペレーティングシステム上での等価物を問い合わせたり使用する関数および変数をいくつか説明します。Xリソースにたいする詳細な情報は、X Resources in The GNU Emacs Manualを参照してください。
関数x-get-resource
は、Xウィンドウのデフォルトデータベースからリソース値を取得する。
リソースは、キー(key)とクラス(class)の組み合わせによりインデックス付けされている。この関数は、‘instance.attribute’という形式をキー(instanceはEmacsが呼び出されたときの名前)、クラスとして‘Emacs.class’として使用することにより検索を行う。
オプション引数componentおよびsubclassは、それぞれキーおよびクラスを追加する。指定する場合は両方を指定するか、さもなくばどちらも指定してはならない。これらを指定した場合、キーは‘instance.component.attribute’、クラスは‘Emacs.class.subclass’となる。
この変数は、x-get-resource
が照会すべきアプリケーション名を指定する。デフォルト値は"Emacs"
。x-get-resource
の呼び出し周辺で、この変数を“Emacs”以外の文字列にバインドすることにより、アプリケーション名にたいしてXリソースを調べることができる。
この変数は、x-get-resource
が照会すべきインスタンス名を指定する。デフォルト値はEmacs呼び出し時の名前、またはスイッチ‘-name’または‘-rn’で指定された値である。
上述のいくつかを説明するために、Xリソースファイル(通常は~/.Xdefaultsや~/.Xresources)内に以下のような行があるとしましょう:
xterm.vt100.background: yellow
その場合は:
(let ((x-resource-class "XTerm") (x-resource-name "xterm")) (x-get-resource "vt100.background" "VT100.Background")) ⇒ "yellow"
(let ((x-resource-class "XTerm") (x-resource-name "xterm")) (x-get-resource "background" "VT100" "vt100" "Background")) ⇒ "yellow"
この変数が非nil
なら、EmacsはXリソースを照会せず、新たなフレーム作成時にXリソースは何も効果をもたない。