MailMate: my custom keybindings

I'm giving MailMate a try again after using for the last six months. I accidentally deleted my custom keybindings 😢 so I had to re-create them. Here's what I came up with, on top of the built-in Gmail keybindings:

Note that some of these are not listed in the official custom keybindings documentation.

So far it's good to be back in MailMate. has been getting slower and slower, especially search, which prompted my switch. So far I like the (fairly minor) changes to MailMate since I used it last.

MailMate: select previous (older) message on archive

If you want to mimic the Gmail behavior of selecting the next older message after archiving (MailMate by default selects the message above the one you archived if you're sorting from newest to oldest), you need to toggle this hidden preference:

defaults write com.freron.MailMate MmMessagesOutlineMoveStrategy -string 'previous'

This is posted in the MailMate bug tracker, but I wanted to post again here to potentially enhance googleability.

Update: this is also posted on the official documentation page for hidden preferences.

MailMate: add "open in MailMate" link to FastMail's web interface

Search in MailMate works great in terms of accuracy, but is a bit slow with ~65,000 messages (searching "common headers or body", which is the most resource-intensive search option, but I prefer to search everything from one field a la Spotlight). Search in the web interface for FastMail (my email provider) is both accurate and very fast. So why not use FastMail for searching and MailMate for everything else?

To this end, I made a quick-and-dirty Chrome extension for adding a "Open in MailMate" link to FastMail's web interface.

No guarantees this will work for you because it's quite a hack. It has to load the raw message via an XHR request and then find the "message-id" in order to build a message:// URL that will trigger MailMate.

When MailMate opens the message, you can use the Message > Go to Source menu item to show the message in context (possibly followed with showing all messages in a thread).

Head over to GitHub to grab the extension.

MailMate: combination of conversation and thread arc views

MailMate has an unsupported feature for creating custom layouts. I quickly created a combination of the two best (IMO) layouts: the conversation layout and the thread arc layout.

Here's a screenshot:


Here's the code:

MailMate: keyboard shortcut to archive all messages in a thread

One arguably strange behavior in MailMate is that when you archive a message, other messages in the thread can stay in your inbox.

Fortunately, it's possible to re-map the archive keyboard shortcut to archive all messages in a thread. Using the instructions for adding custom keybindings, add the following:

"y" = ( "selectWithFilter:", "#thread-id = ${#thread-id}", "archive:");

Note that I use "y" instead of "e" because I use FastMail instead of Gmail.