Xresources / Xdefaults:句号还是星号?

345*_*422 4 rxvt x-resources

我刚从切换XFCE4端的rxvt-unicode的,我一直在阅读了很多的.Xresources.Xdefaults的文件,拼凑的东西放在一起,以创建自己的。我的谷歌搜索技能给我留下了许多悬而未决的问题;其中之一是:

有没有之间的差异URxvt.fontURxvt*font

我已经看到了许多变化,例如,这个问题的答案在一行中使用星号,在另一行中使用句点。

URxvt*scrollBar:false
URxvt*scrollBar_right: false
URxvt.keysym.Shift-Up: command:\033]720;1\007
URxvt.keysym.Shift-Down: command:\033]721;1\007`
Run Code Online (Sandbox Code Playgroud)

这是否意味着它无关紧要,或者它对某些设置而不是其他设置很重要?我希望了解差异(如果有的话)将有助于我无法开始工作的设置。

Kus*_*nda 8

这在 X 手册 ( man 7 X) 中有解释:

当应用程序查找资源的值时,它指定层次结构中的完整路径,包括类名和实例名。然而,资源值通常只给出部分指定的名称和类,使用模式匹配构造。 星号 ( *) 是松散绑定,用于表示任意数量的中间组件,包括无。句点 ( .) 是一个紧绑定,用于分隔紧邻的组件。

这意味着

URxvt*scrollBar:false
Run Code Online (Sandbox Code Playgroud)

恰好与

URxvt.scrollBar:false
Run Code Online (Sandbox Code Playgroud)

因为之间不存在中间部件URxvt和所述scrollBar部件(如果我读urxvt正确手册)。

然而,

URxvt.keysym.Shift-Up: command:\033]720;1\007
Run Code Online (Sandbox Code Playgroud)

大概可以写

URxvt*Shift-Up: command:\033]720;1\007
Run Code Online (Sandbox Code Playgroud)

绕过那个中间keysym组件。如果还有其他Shift-Up资源,这也会为URxvt该类设置任何其他资源。

*Shift-Up: command:\033]720;1\007
Run Code Online (Sandbox Code Playgroud)

将为所有X 类设置该资源。

Asterisk 就像一个“通配符”,就像*shell 中的名称一样,但对于 X 资源名称。另外,我相信您不能在组件名称的中间放置一个点,因此类比不会一直存在。