I believe I found a solution to this on the Mutt wiki.
How to make mutt check for new mail more often? What's the difference between $timeout
After every keyboard input mutt updates the status of all folders. To receive "New mail
in ..." notifications even without needing to press a key, set $timeout == time to wait
for idle mutt (no key pressed) before the status is updated again as if a key were
pressed. To avoid too frequent folder access (bad connections via NFS or IMAP), set
$mail_check == minium time between 2 scans for new mail (external changes to folders)
in case of high keyboard activity.
$mail_check < $timeout : scan on next update $timeout < $mail_check : update before scan
This means $mail_check < $timeout is more useful, because by the time mutt will update,
it will also scan for external changes to incorporate them in the update.
How to get informed about new mail?
When new mail arrives, an automatic (no key pressed) "New mail in ..." notification is
shown at the screen bottom. This happens only in the index menu. For manual checking,
you can use the buffy-list function which works in the pager, index and folder browser.
It prints a list of folders with new mail. However, it will display an up-to-date list
only when the index menu is focused. Additionally, you can invoke check-new in the
folder browser which updates the display ('N' flag for folders with new mail) and also
buffy-lists folder list.
I find this confusing and badly explained, but I tried it by adding
set timeout=30 to my
~/.muttrc and it seems to work! The inbox view updates not long after my IMAP daemon reports having downloaded new mail. I hope this works for you too!