Sua suposição está correta. Uma especificação de recurso usando *
é um curinga. Seu problema aqui está relacionado ao fato de que você provavelmente tem ambas especificações XClock*
e XClock.Clock
em seu banco de dados de recursos atualmente carregado. Neste caso, ele preferirá as entradas explícitas para os curingas. Você pode ver o que você definiu no seu banco de dados de recursos para o seu XClock com appres XClock
:
appres XClock
XClock.input: false
Se eu criar um arquivo de recurso com recursos de caractere curinga:
XClock*foreground: #fbfbfb
XClock*background: #000018
XClock*update: 1
XClock*geometry: 210x210+1020+12
XClock*majorColor: rgba:f0/f0/19/7b
XClock*minorColor: rgba:a0/c0/f0/c0
XClock*hourColor: rgba:c9/66/11/72
XClock*minuteColor: rgba:00/82/9f/72
XClock*secondColor: rgba:50/93/30/6f
E, em seguida, use um carregamento com uma operação xrdb -merge xclock
, appres XClock
agora mostra:
$ appres XClock
XClock*secondColor: rgba:50/93/30/6f
XClock*foreground: #fbfbfb
XClock*hourColor: rgba:c9/66/11/72
XClock*update: 1
XClock*background: #000018
XClock*geometry: 210x210+1020+12
XClock*majorColor: rgba:f0/f0/19/7b
XClock*minorColor: rgba:a0/c0/f0/c0
XClock.input: false
XClock*minuteColor: rgba:00/82/9f/72
Se eu iniciar o xclock, recebo o seu tema brilhante "nocturno". Agora, se eu fosse editar esse arquivo de recurso e substituir os recursos curinga por recursos explícitos (note !
é uma linha de comentário):
XClock*foreground: #fbfbfb
XClock*background: #000018
XClock*update: 1
XClock*geometry: 210x210+1020+12
XClock.Clock.majorColor: rgba:f0/f0/19/ff
XClock.Clock.minorColor: rgba:a0/c0/f0/ff
XClock.Clock.hourColor: rgba:c9/66/11/ff
XClock.Clock.minuteColor: rgba:00/82/9f/ff
XClock.Clock.secondColor: rgba:50/93/30/ff
!XClock*majorColor: rgba:f0/f0/19/7b
!XClock*minorColor: rgba:a0/c0/f0/c0
!XClock*hourColor: rgba:c9/66/11/72
!XClock*minuteColor: rgba:00/82/9f/72
!XClock*secondColor: rgba:50/93/30/6f
e mesclar o arquivo de recursos novamente com um xrdb -merge xclock
, appres XClock
agora mostra:
XClock.Clock.secondColor: rgba:50/93/30/ff
XClock.Clock.minorColor: rgba:a0/c0/f0/ff
XClock.Clock.hourColor: rgba:c9/66/11/ff
XClock.Clock.minuteColor: rgba:00/82/9f/ff
XClock.Clock.majorColor: rgba:f0/f0/19/ff
XClock*secondColor: rgba:50/93/30/6f
XClock*foreground: #fbfbfb
XClock*hourColor: rgba:c9/66/11/72
XClock*update: 1
XClock*background: #000018
XClock*geometry: 210x210+1020+12
XClock*majorColor: rgba:f0/f0/19/7b
XClock*minorColor: rgba:a0/c0/f0/c0
XClock*minuteColor: rgba:00/82/9f/72
XClock.input: false
Observe como ambos recursos explícitos e curinga são listados contra a classe XClock. Neste exemplo, xclock
preferirá o recurso explícito sobre o caractere curinga e eu obtenho o relógio com as cores não alfa.
Para corrigir o problema, use uma operação -load
em vez de uma operação -merge
(o padrão xrdb é -load
se você não fornecer nenhuma opção, ou seja, xrdb file
é igual a xrdb -load file
).
Isso limpa o banco de dados de recursos, carrega os padrões do sistema e adiciona as configurações do recurso XClock nesse arquivo. Um bom truque para saber é que você pode restaurar os "padrões do sistema" com xrdb /dev/null
. Você pode obter uma cópia do banco de dados de recursos existente (incluindo os padrões do sistema) com: xrdb -query -all
, que pode ser redirecionado para um arquivo e, em seguida, editado de acordo com o seu gosto.
Na maioria dos sistemas que os colocam em seu .Xresources ou .Xdefaults, eles serão carregados quando a sessão X for criada, assim você não precisa carregá-los manualmente da sessão X para a sessão X.
Eu uso curingas para definir a maioria dos aplicativos para fazer branco sobre preto (não sou fã de preto sobre branco):
*background: #000000
*foreground: #ffffff
Quanto aos recursos que você pode definir para xclock, eles são abordados na página do manual (a maioria dos comandos do X11 cobre seus recursos na página man).
Outra coisa que é útil saber (e não documentada com frequência) é que a maioria dos comandos X11 podem ser passados -name
argumento que permite ter recursos separados das configurações padrão do aplicativo, portanto, por exemplo, se eu fosse tem:
Leary*background: #ff0000
como uma configuração de recursos e, em seguida, execute xclock com xclock -name Leary
Eu receberei um xclock com um fundo vermelho violento. Todas as configurações de recursos XClock explícitas / curinga são carregadas e, em seguida, elas são substituídas por aquelas definidas pela classe Leary
. Em seguida, posso usá-lo para aplicar as mesmas configurações para dizer xterm
, com xterm -name Leary
.
Existem várias opções de linha de comando "padrão" usadas pela maioria dos comandos do X11:
-display host:n
Location of the X server.
-geometry wxh+x+y
Window size and location.
-bg color
Window background color.
-fg color
Text and graphics color.
-fn font
Text font.
-iconic
Initial window to be started iconized.
-title strings
Window header title.