Existe um gancho universal para 'carregar o tema'?

7

Gostaria de definir várias variáveis ​​de face para serem usadas com qualquer tema no meu arquivo de inicialização pessoal. Existe um gancho que eu possa usar para garantir que seja independente do tema?

lookyhooky
fonte
Não tenho certeza sobre um gancho que tenha o tempo certo, mas seria bom você simplesmente definir as variáveis ​​de face no seu arquivo init após a chamada para load-theme? Eu fiz algo semelhante no passado porque alguns temas coloriam de fill-column-indicatoruma maneira que o tornava quase invisível, então eu apenas o defini para sempre ser uma cor específica, independentemente do tema.
precisa saber é o seguinte
11
@elethan que funciona muito bem. Presumi que load-themefuncionasse como um modo e exigisse um gancho. Faz sentido, o tema é global entre os modos e define todas as variáveis ​​quando carregadas. Eu estava preocupado em definir uma variável indefinida, apesar de estar pensando demais. Você poderia digitá-lo novamente como resposta?
lookyhooky
Publique a resposta você mesmo - parece que elethan não a publicará. E então aceite a resposta postada.
Drew
Talvez você queira enviar uma solicitação de aprimoramento para adicionar uma after-load-them-hook? Use M-x report-emacs-bugpara fazer isso.
Tirou

Respostas:

0

Não existe after-theme-load-hook. O tema é carregado diretamente depois (load-theme 'theme-name). Simplesmente modifique as variáveis ​​de tema desejadas após a load-themechamada da função.

lookyhooky
fonte
Esta não é uma solução satisfatória IMO. Se você fizer isso de forma interativa na sua sessão do emacs, terá que usar o sistema de aconselhamento para definir automaticamente as variáveis ​​depois que o tema de carregamento for chamado. Geralmente, e certamente neste caso, a necessidade de usar o sistema de aconselhamento é evidência de um gancho ausente.
Imalison
Parece exagero definir conselhos sobre o tema de carregamento apenas para obter algumas fontes personalizadas. Embora eu concorde, se o tema load for chamado interativamente, as personalizações serão substituídas. Mas não mudo de tema com frequência e isso não foi um problema.
precisa saber é o seguinte