Come posso cambiare il colore di sfondo di un singolo buffer emacs?


8

Voglio rendere i buffer interattivi SQL collegati ai DB di produzione molto, molto ovvi, quindi il mio pensiero era quello di cambiare lo sfondo del buffer in un colore rosso scuro.

set-background-colornon funziona, però; imposta il colore di tutte le cornici sul colore specificato.

Come posso cambiare lo sfondo di un solo buffer?

Risposte:


9

Per questo ho creato un pacchetto emacs lisp: https://github.com/vic/color-theme-buffer-local utilizza il rimappatura dei volti di Emacs per installare i temi a livello locale.


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


6

Non puoi.

Il colore di sfondo è generalmente specifico del frame.

Puoi impostare il colore di sfondo del defaultviso in modo che sia specifico della cornice usando set-face-background, in questo modo:

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

Le personalizzazioni dei frame sono generalmente controllate attraverso i parametri dei frame . Ora, se osservi attentamente i background-colorparametri del fotogramma , vedrai che il colore di sfondo predefinito viene preso dalla defaultfaccia, motivo per cui l'elis sopra ha un effetto.

Oltre a ciò, sembra che si possa arrivare a un colore di sfondo del buffer usando la modalità minore buffer-face-mode(aggiunta in 23.1), tuttavia ciò cambia solo lo sfondo per il testo di un buffer e non l'intero sfondo.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.