Comment changer la couleur d'arrière-plan d'un seul tampon emacs?

8

Je souhaite créer des tampons interactifs SQL connectés à des bases de données de production de manière très très claire. Je pensais donc modifier l’arrière-plan du tampon en rouge foncé.

set-background-colorne fonctionne pas, cependant; il définit la couleur de toutes les images sur la couleur spécifiée.

Comment puis-je changer l'arrière-plan d'un seul tampon?

Chris R
la source

Réponses:

9

J'ai créé un paquet emacs lisp pour cela: https://github.com/vic/color-theme-buffer-local il utilise le remappage de visage d'Emacs pour installer les faces de thème localement.


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

victime
la source
6

Tu ne peux pas.

La couleur de fond est généralement spécifique à l'image.

Vous pouvez définir la couleur d’arrière-plan du defaultvisage comme étant spécifique à l’image set-face-background, comme suit:

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

Les personnalisations d'image sont généralement contrôlées via des paramètres d'image . Maintenant, si vous regardez de près les background-colorparamètres de cadre pour , vous verrez que la couleur d'arrière-plan par défaut est prise à partir du defaultvisage - c'est pourquoi l'élément elisp ci-dessus a un effet.

Après cela, il semble que la fermeture de la mémoire tampon soit possible en utilisant le mode mineur buffer-face-mode(ajouté dans 23.1) - toutefois, cela ne change que l'arrière-plan du texte d'un tampon, et non tout l'arrière-plan.

Trey Jackson
la source