Thunderbird, Muttator, and Filters

11:17 Thu 18 Mar 2010
[, , , , , ]

Not content with merely using Vim to compose email messages, I’m trying out Muttator, a Thunderbird plugin that aims to add Vim-like keybindings.

Right now, it’s better in theory than in practice. Muttator is still very much alpha software, and its documentation is sorely lacking. If you’re a Vim user, you can probably figure out a lot of its functions, but it’s definitely not ready for widespread release.

On the other hand, I already find it quite useful. Just having j and k bound to previous and next message is a significant usability boost for me. Having a command-line mode and being able to access other folders with :goto foldername is also quite handy (although it needs to deal with subfolders better, by displaying what their parent folder is in the completion listing).

I’m really hoping that development continues on it; being able to do all my email management via the keyboard while still having the richer display environment of a GUI is basically what I want from an email client.

I had to upgrade to Thunderbird 3 to install it, which led to finally getting a feature I’ve wanted for years: being able to run mail filters not on messages as they arrive, and not on an entire folder, but on a single message I’ve just finished reading or replying to. I like messages to be in my Inbox until I’m done with them (which, admittedly, can be a long time…), but then I don’t want to have to think about where to file them. I want to set up a filter that handles the filing and then to invoke it easily. Thunderbird 2 didn’t have this capability. Thunderbird 3 has it, but doesn’t assign a keyboard shortcut to it.

Muttator, however, allows you to run arbitrary JavaScript from its command-line mode. After looking through the Thunderbird source code (Thunderbird documentation also sucks quite badly), I discovered the MsgApplyFiltersToSelection() function and verified that :javascript MsgApplyFiltersToSelection() worked properly. Then I ran :imap A :javascript MsgApplyFiltersToSelection(), and so can now hit shift-a to run filters on a message. (Note that despite the name I can’t seem to get it to apply to multiple messages, although that isn’t a common use case for me.)

This one small addition makes me feel significantly better about using Thunderbird.

Leave a Reply