.Xresources 设置生效

l0b*_*0b0 3 x11 resources

有什么方法可以检查当前哪些 .Xresources 设置有效(与 不同xrdb -query)?例如,我在一个似乎不尊重的主机上*reverseVideo: true,但我不知道那是不是因为我写错了(甚至*florb: glorb在运行时没有引发错误xrdb -merge $HOME/.Xresources),因为设置不是支持,或其他一些原因。

Gil*_*il' 7

xrdb -query 列出显式加载到 X 服务器上的资源。

appres列出应用程序将接收的资源。这包括系统默认值(通常在/usr/X11R6/lib/X11/app-defaults或 之类的目录中找到/etc/X11/app-defaults)以及在服务器上显式设置的资源xrdb。您可以限制特定的类和实例,例如appres XTerm foo查看哪些资源适用于使用xterm -name foo.

X 服务器仅存储设置列表。它无法知道小部件是否会实际使用这些设置。无效的资源名称不会被注意到,因为您应该能够在层次结构中的较高级别设置资源,并且它们将仅应用于与其相关且不会被覆盖的组件。

X 资源规范遵循相当复杂的优先规则。如果您的一项设置似乎不适用,则罪魁祸首有时是系统默认设置优先,因为它更具体。查看 的输出,appres Class看看是否有针对某事的系统设置.reverseVideo。如果您的应用程序是少数支持 Editres 协议的应用程序之一,您可以使用该editres程序检查其资源树。


ewi*_*sch 5

资源加载到 X11 服务器中和由客户端加载是有区别的。例如,您可以在启动客户端后更改服务器的资源。

要获取当前服务器资源,可以使用“xrdb -query -all”。

为了获取当前的客户端资源,我不知道解决方案,但editres (1) 将允许您在运行时将资源发送到兼容的客户端。您可能会很幸运地使用使用 Xaw 和 Motif 时代工具包的应用程序,但对于 GTK 和 QT 应用程序则不太幸运(或没有)。一个很好的例子是“xterm”,您可以通过 editres 打开和关闭滚动条,而无需重新启动客户端。