Image of the glider from the Game of Life by John Conway
Skip to content

Ivy League Theme For Mutt

Thanks to David Evans and Christer Edwards, I'm now a Mutt user. I'll spare the reasons why I switched, except to mention that I wanted a mail client that did mail standards correctly. Further, as stated on the Mutt site, "All mail clients suck. This one just sucks less". I am in agreement.

So, seeing as though Mutt has become my preferred default mail client now, I needed a good theme with it. The defaults are just so boring. So, seeing as though I had made adjustments to my Irssi installation, I thought I'd modify my Mutt install to match it. Then I learned later, that unlike Irssi, Mutt support 256 colors. This got me on a whole kick to get 256 colors working in my screen session, of which later, I found that Vim supports as well. So, after a bit of hacking, I got 256 color support in my terminal through screen. Now, I am set to configure a 256 colored theme with Mutt.

First, the necessary additions that you should make to your terminal and .screerc. In my .zshrc, I modified the TERM variable to support 256 colors:

TERM=xterm-256color

Then, I needed to make the necessary adjustment to my .screenrc. Before beginning, GNU Screen must be compiled with 256 color support form your GNU/Linux vendor, otherwise, even adding these configuration options won't do any good. Further, I don't fully understand why the options are necessary, or what exactly they are doing, but you need them nonetheless:

attrcolor b ".I" # allow bold colors
termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm' # AB=background, AF=foreground
defbce "on" # erase background with current bg color
term screen-256color

Now we're ready to roll with 256 colors in Mutt. I did a bit of searching online for Mutt themes with 256 color support, but was disappointed in the lack of such themes. There are a few floating around, but nothing that really grabbed my eye. Also, I was very disappointed in the lack of documentation on the Mutt site about the supported 256 colors. I later learned that this is entirely dependent on your terminal, but their documentation could use some work in this area. Mutt supports color1 through color256, but the question remains: what are these colors? Well, I found a Python script online that can tell you. If your terminal supports it, you'll get a fantastic rainbow of colors showing what each of these colors is defined as in your terminal. A great aide in getting the right colors for my theme.

Now that I know what the colors are, I can start hacking away, getting everything exactly as I want. I wanted something easy on the eyes, suitable for low light conditions. Also, I didn't want a massive palette of colors. Less is more when dealing with color design. So, I decided to pick on the mascot colors found at ivy league colleges here in the States. The resulting color palette was:

tan, red, green, blue, charcoal and orange

If you're a designer, you'll probably call the orange "burnt orange" and the red "brick red" or something similar. At any event, you get the idea that I am going after. The colors don't have precise functions, as I just spent the night hacking away, getting it to flow and look the way I wanted, so as to not have on overwhelming color on the screen, but a good array. However, I generally tried to leave red for error message (as well as the header), green for good messages (and inline quotes) and orange for warnings (also for inline quotes). Take a spin with the theme, and give me any feedback in the comments.

Of course, what would be a post on a theme without screenshots? You can download the theme here (it's a work in progress, especially with the regular expressions).

Screenshot 1 showing the index.
Screenshot 2 showing a message.

UPDATE: you will need the ncurses-term package installed to pull this off. It's an "apt-get install ncurses-term" away, if on Ubuntu or Debian.

{ 9 } Comments