Xresources / Xdefaults: Período ou Asterisco? [duplicado]

3

Acabei de mudar de xfce4-terminal para rxvt-unicode e tenho lido muito .Xresources e < arquivos strongs> .xdefaults , juntando coisas para criar o meu. Minhas habilidades de pesquisador me deixaram com várias perguntas não respondidas; um dos quais é:

Existe uma diferença entre URxvt.font e URxvt*font ?

Eu tenho visto diversas variações, por exemplo, a resposta para essas perguntas usa um asterisco em uma linha e períodos em outra.

URxvt*scrollBar:false
URxvt*scrollBar_right: false
URxvt.keysym.Shift-Up: command:3]720;1
URxvt*scrollBar:false
URxvt*scrollBar_right: false
URxvt.keysym.Shift-Up: command:3]720;1%pre%7
URxvt.keysym.Shift-Down: command:3]721;1%pre%7'
7 URxvt.keysym.Shift-Down: command:3]721;1%pre%7'

Isso significa que não importa ou que é importante para algumas situações e não para outras? Eu estou esperando entender as diferenças, se houver, ajudará com as configurações que eu não consigo trabalhar.

    
por 345422 27.08.2017 / 04:43

1 resposta

5

Isso é explicado no manual X ( man 7 X ):

When an application looks for the value of a resource, it specifies a complete path in the hierarchy, with both class and instance names. However, resource values are usually given with only partially specified names and classes, using pattern matching constructs. An asterisk (*) is a loose binding and is used to represent any number of intervening components, including none. A period (.) is a tight binding and is used to separate immediately adjacent components.

Isso significa que

URxvt*scrollBar:false

acontece de ser o mesmo que

URxvt.scrollBar:false

desde que não haja nenhum componente intermediário entre URxvt e o componente scrollBar (se eu ler o manual urxvt corretamente).

No entanto,

URxvt.keysym.Shift-Up: command:3]720;1
URxvt*Shift-Up: command:3]720;1
*Shift-Up: command:3]720;1
URxvt*scrollBar:false
7
7
7

provavelmente poderia ser escrito

URxvt.scrollBar:false

para ignorar esse componente keysym interveniente. Isso também definirá qualquer outro recurso Shift-Up para a classe URxvt , se houver alguma outra.

URxvt.keysym.Shift-Up: command:3]720;1
URxvt*Shift-Up: command:3]720;1
*Shift-Up: command:3]720;1%pre%7
7
7

configuraria esse recurso para todas classes X.

O asterisco funciona como um "caractere globbing", como * faz para nomes no shell, mas para nomes de recursos X. Além disso, acredito que você não pode colocar um ponto no meio de um nome de componente, então a analogia não vai até o fim.

    
por 27.08.2017 / 08:59