tags:

views:

82

answers:

2

I use emacs to edit a number of file types, and would like an easy visual queue to tell .c files from .vhd or .py files, for instance. How can I add a custom background color to the major mode for that language?

+3  A: 

You can do this via hooks. Among other things you can hook is when a new major mode starts. Put something like this into your .emacs file, and emacs will set your background color to purple every time you go into Python mode.

  (add-hook 'python-mode-hook
            (lambda ()
              (set-background-color "purple")))

Resetting the background color to the default in the case that you switch back to a mode that doesn't have an explicit set-background hook for it is left as an exercise for the reader.

You can also manually set the background color with M-x set-background-color

Jack Lloyd
Thanks, that's what I was looking for.
mc_electron
+2  A: 

You cannot set the background color on a buffer-by-buffer basis. See the SU question How can I change the background colour of a single emacs buffer?.

The first answer there shows how you can change the background for a single Emacs frame, which might work for you if you have one frame per file (or per mode).

Trey Jackson