Carregando recursos X de .Xresources e .Xdefaults para o Emacs

2

O Emacs, até onde eu me lembro, deve carregar o arquivo .Xresources na inicialização e ler as configurações de renderização de fonte a partir dele. Mas o meu só faz isso se eu executar xrdb merge e depois iniciar o emacs. Acho que tenho algo mal configurado aqui.

Como meu emacs começa como um serviço systemd, acabei de adicionar ExecStartPre=xrdb -merge ~/.Xresources no emacs.service. Isso praticamente resolve o problema. Mas eu ainda quero saber porque não está funcionando como deveria ser?

Além disso, meu .Xdefaults é um link simbólico para .Xresources e eu uso o KDE no openSUSE.

    
por contemplator 23.07.2015 / 19:03

1 resposta

2

Está funcionando exatamente como deveria. ~/.Xresources é convencionalmente carregado quando você efetua login. Muitas distribuições fazem isso como parte dos scripts de inicialização da sessão X. Se você não usa um ambiente completo de destkop, você pode precisar adicioná-lo aos seus scripts de login, o que seria feito no seu caso, assim como você fez. Os recursos de ~/.Xresources são carregados no servidor X e se aplicam a todos os programas exibidos nesse servidor X.

Você pode estar confundindo .Xresources com ~/.Xdefaults , que é carregado por cada aplicativo cliente X quando ele é iniciado e, em seguida, se aplica a esse aplicativo. Ao usar o X remotamente, o arquivo ~/.Xresources está no lado do servidor X, enquanto o arquivo ~/.Xdefaults está no lado do cliente.

Observe que o Emacs só carrega ~/.Xdefaults se nenhum recurso for carregado no servidor (mais precisamente, se XResourceManagerString retornar NULL ). Também carrega ~/.Xdefaults-$HOSTNAME incondicionalmente. Eu não sei porque.

    
por 24.07.2015 / 01:16