So I, like many, like mu/mu4e a lot! Inbox zero is a nice way of managing email. But the main reason I use mu4e is because it - like other great software I use - is powerful and fast. Fast is great, but software that is ready and responsive instantly is way better.
I’m often in the zone working fast when I am going through my emails, only to have the dreaded “Waiting for message…” occur. This is a massive productivity and mood killer. I really like speed and it helps a lot more then most realise. It is worth fixing.
After a bit of research it seems setting the following in your mu4e configuration resolves the issue.
(setq mu4e-index-lazy-check t mu4e-index-cleanup nil)
As per the great emacs documentation this means:
Whether to only use a ’lazy check’ to decide whether a message needs (re)indexing or not. When this is set to ‘t’, mu only uses the directory timestamps to decide on whether it needs to check the messages beneath it, which would miss messages that are modified outside mu. On the other hand, it’s significantly faster.
The improvement for me is huge.
mu4e loading emails is now always instantly ready for me.
Later thoughts on this change
The above mu4e changes resulted in various other issues, which overall made things worse for me.
It seems, as of this time, there is no work around for the various mu4e slow downs.
I eventually “solved” the issue by switching to notmuch. notmuch is known to be a lot quicker and overall I’m a lot happier with it.