Enquanto o emacs está em execução, como posso descobrir qual tema de cores está atualmente em uso?
Não existe o conceito de um tema atual e, de fato, vários temas podem ser aplicados em sequência para definir de forma aditiva o conjunto de faces ativas. O suporte ao tema foi adicionado às versões mais recentes do Emacs (consulte a página M-x customize-theme
), e ainda há a opção de "Selecionar mais de um tema por vez".
Em resumo, quando você ativa um tema, não está mudando para esse tema, mas aplicando as alterações especificadas no tema às faces e variáveis listadas.
Todas as personalizações que não são explicitamente colocadas em um tema nomeado são realmente colocadas no tema oculto do usuário, portanto sempre há pelo menos um tema ativo. Os outros temas ativados atualmente estão listadas na variável custom-enabled-themes
.
Compartilhe um exemplo para usar color-theme-print para obter o tema que apliquei.
via 'Mx color-theme-print', você obterá informações sobre as informações do tema de cores e, em seguida, encontrará um valor típico que é exclusivo para diferentes temas de cores. Eu escolho 'background-color', cujo valor é 537182 para o meu emacs.
Abra a biblioteca de temas de cores 'color-theme-library.el' e pesquise o arquivo com a palavra-chave como '537182' e, em seguida, você encontrará o nome do tema.
Embora não seja uma maneira direta, mas realmente funcione, espero que ajude!
M-x color-theme-print
é útil dizer exatamente quais faces da fonte estão em vigor. Ele não informa quais temas de cores nomeados foram aplicados, mas você deve conseguir resolver isso a partir do seu arquivo init. Caso contrário, suponho que você deva usar um modo que aplique seu próprio tema de cores (sei que o Proof General faz isso, e o mais irritante é).
(require 'color-theme)
primeiroPara adicionar à resposta do sanityinc, você pode configurá-lo sozinho ou no seu arquivo init.el (dotemacs).
Eu acho que você está perguntando, porque você tentou alguns deles e esqueceu, certo? Sei que sim, gostaria de saber se você pode verificar seu buffer de Mensagens para ver o último aplicado.
@ Sanityinc obrigado pela explicação também. Percebi que quando comecei a adicionar mais e mais temas em sucessão, algumas áreas, como o mini buffer, não mudavam ou seriam definidas para o valor do último tema. agora eu sei porque.
fonte
color-theme
pacote antigo , há um var chamadocolor-theme-is-cumulative
, que você pode definir paranil
que os temas não interfiram entre si; parece uma boa ideia, mas os resultados geralmente são totalmente inesperados, em parte porque os temas costumam fazer suposições sobre os rostos embutidos.M-x describe-face RET default RET
(ou uma face diferente não padrão) e usarM-x rgrep
para procurar arquivos .el com tema de cores que contenham os mesmos nomes / valores hexadecimais.M-x load-theme <colortheme>
não imprime nada no buffer de mensagens.