有什么方法可以检查当前哪些.Xresources设置是有效的(与xrdb -query不同)?例如,我所在的主机似乎不尊重*reverseVideo: true,但我不知道这是否是因为我用错误的方式编写它(甚至*florb: glorb在运行xrdb -merge $HOME/.Xresources时也不会引发错误),因为不支持设置,或者其他原因。
发布于 2011-03-08 18:23:17
xrdb -query列出了显式加载到X服务器上的资源。
appres列出了应用程序将接收的资源。这包括系统默认值(通常可以在/usr/X11R6/lib/X11/app-defaults或/etc/X11/app-defaults之类的目录中找到)以及在服务器上使用xrdb显式设置的资源。您可以限制特定的类和实例,例如appres XTerm foo,以查看哪些资源应用于用xterm -name foo调用的xterm。
X服务器只存储设置列表。它无法知道一个小部件是否会实际使用这些设置。无效的资源名称不被注意,因为您应该能够在层次结构中将资源设置在较高的级别,并且它们将只应用于它们相关且不被覆盖的组件。
X资源规范遵循相当复杂的优先级规则。 --如果您的某个设置似乎不适用,那么罪魁祸首有时是系统默认值,因为它更具体。查看appres Class的输出,看看是否存在.reverseVideo的系统设置。如果您的应用程序是少数几个支持Editres协议的应用程序之一,您可以使用editres程序检查其资源树。
发布于 2011-03-08 14:42:20
如果资源被加载到X11服务器并由客户端加载,则存在差异。例如,您可以在启动客户端后更改服务器的资源。
要获取当前服务器资源,可以使用'xrdb -query -all‘。
为了获得当前的客户端资源,我不知道解决方案,但社论(1)将允许您在一个兼容的客户机运行时向其发送资源。在使用Xaw和Motif时代工具包的应用程序上,您可能会很幸运,但GTK和QT应用程序的运气会更差(或者没有)。一个很好的例子是“xterm”,您可以通过编辑打开或关闭滚动条,而无需重新启动客户端。
发布于 2011-03-08 13:18:49
xrdb -query -all不做你想做的事吗?
我在X启动时从我的.Xresources加载了一些非常非正统的设置,并将它们反馈给我:
6:14AM 68 % xrdb -all -query
XTerm*VT100*translations: #override \n <Key>F2: insert-selection(PRIMARY,CUT_BUFFER0)
XTerm*VT100.charClass: 33:48,35:48,37:48,42:48,45-47:48,64:48,95:48,126:48
XTerm*VT100.cutNewLine: false
XTerm*VT100.cutToBeginningOfLine: false
XTerm*VT100.saveLines: 1000
XTerm*VT100.scrollBar: true
scrollstyle: plainhttps://unix.stackexchange.com/questions/8818
复制相似问题