我刚刚从xfce4-终端到rxvt-unicode我读了很多.X资源和.X默认值文件,将东西拼凑起来创建我自己的。我的谷歌搜索技巧给我留下了许多悬而未决的问题;其中之一是:
URxvt.font
和之间有区别吗URxvt*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`
这是否意味着它不重要,或者它对某些环境很重要,而对其他环境则不重要?我希望了解这些差异(如果有的话)将有助于解决我无法工作的设置。
答案1
X 手册中对此进行了解释 ( man 7 X
):
当应用程序查找资源的值时,它会在层次结构中指定一个完整的路径,其中包含类名称和实例名称。然而,资源值通常使用模式匹配构造仅给出部分指定的名称和类。 星号 (
*
) 是松散绑定,用于表示任意数量的中间组件,包括没有。句点 (.
) 是紧密绑定,用于分隔紧邻的组件。
这意味着
URxvt*scrollBar:false
恰好是一样的
URxvt.scrollBar:false
URxvt
因为组件之间没有中间组件scrollBar
(如果我urxvt
正确阅读了手册)。
然而,
URxvt.keysym.Shift-Up: command:\033]720;1\007
可能可以写成
URxvt*Shift-Up: command:\033]720;1\007
绕过该干预keysym
组件。如果有任何其他资源,这也会Shift-Up
为该类设置任何其他资源。URxvt
*Shift-Up: command:\033]720;1\007
会将该资源设置为全部X 班。
Asterisk 的工作方式类似于“通配符”,就像*
shell 中的名称一样,但对于 X 资源名称而言。另外,我相信您不能在组件名称中间放置点,因此类比并不完全适用。