本节介绍部分用于查询和使用 X 资源(或你所用操作系统中等价的配置项)的函数与变量。有关 X 资源的更多信息,See 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 前将此变量绑定为其他字符串,即可查询其他应用程序名对应的 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 资源不会产生任何效果。