tarao / evil-plugins

Plugins for Emacs Evil.
66 stars 11 forks source link

evil-mode-line: no color when buffer in Emacs mode #1

Closed oscarfv closed 11 years ago

oscarfv commented 11 years ago

When a buffer is created in Emacs mode by default (i.e. Gnus, Magit, etc) the line mode is not colorized. Changing mode shows the associated message in the mode line but the color doesn't change.

Steps to reproduce:

  1. M-x gnus (or any other command that creates a buffer listed in evil-emacs-state-modes)
tarao commented 11 years ago

A buffer whose name matches with one of the pattern in mode-line-color-exclude-buffers-regexp is excluded from mode line coloring. The default value of mode-line-color-exclude-buffers-regexp is '("^ " "^\\*"), which means that hidden buffers (buffers not appearing in the buffer list) and buffers with a name starting with * are excluded.

In the case of Gnus, I assume that the buffer name is something like *Group*, so that the Gnus buffer is excluded. You can make it colored by changing the value of mode-line-color-exclude-buffers-regexp.

(setq mode-line-color-exclude-buffers-regexp '("^ "))
oscarfv commented 11 years ago

Those buffers whose name start with * are interactive. Such interaction depends on the state Evil is in. For instance, on a Gnus Group buffer, which is in Emacs state by default, the Vim movement keys hjkl won't work, but if you are used to look at the color of the mode line as a clue for knowing the state, you'll try to use the Vi movement keys because you will be tricked into thinking that current state is Normal, based on the mode line color.

So I propose changing the default of mode-line-color-exclude-buffers-regexp to the value you suggest.

I've already added that setq to my .emacs. Thank you.

tarao commented 11 years ago

OK, I have changed the default value.

I don't remember why but those buffers are excluded for some reason. Maybe they had some problems with Vimpulse since mode-line-color.el was originally made for Vimpulse and Japanese input methods. For now, with Evil, I couldn't find any problem during a short trial. I will keep this default value as long as no further issue comes up.