Como posso alterar a cor de fundo de um único buffer do emacs?

8

Eu quero tornar os buffers interativos SQL que estão conectados aos DBs de produção muito, muito óbvios, então meu pensamento foi mudar o fundo do buffer para uma cor vermelho escuro.

set-background-color não funciona, no entanto; ele define a cor de todos os quadros para a cor especificada.

Como posso alterar o plano de fundo de apenas um único buffer?

    
por Chris R 17.06.2010 / 19:07

3 respostas

9

Eu criei um pacote emacs lisp para isso: link ele usa o Emacs 'Face remapping to instalar tema enfrenta localmente.


(require 'color-theme-buffer-local)
(add-hook 'java-mode-hook (lambda nil (color-theme-buffer-local 'color-theme-robin-hood (current-buffer)) ))

    
por 16.04.2012 / 09:20
6

Você não pode.

A cor do plano de fundo é geralmente específica do quadro.

Você pode definir a cor do plano de fundo da face default como específica do quadro usando set-face-background , assim:

(set-face-background 'default "#CCCCCC" (window-frame (frame-selected-window))

As personalizações de quadros geralmente são controladas por parâmetros de quadros . Agora, se você olhar de perto para os background-color para os parâmetros do frame , você verá que a cor de fundo padrão é obtida da default face - é por isso que o elisp acima tem efeito.

Passado isso, parece que o fechamento que você pode chegar a uma cor de fundo do buffer é usando o modo menor buffer-face-mode (adicionado em 23.1) - no entanto, isso altera apenas o plano de fundo do texto de um buffer, e não o plano de fundo inteiro.

    
por 17.06.2010 / 20:52
1

Eu não tentei, mas o link parece um possível solução.

    
por 19.06.2010 / 06:23