> Are these things a normal user would notice? Because when I just
> tried it out, executing a search does provide a header buffer. But
> it wouldn't make sense otherwise, of course.
When I have 3 or more Emacs windows open, split both vertically and
horizontally, the default mu4e split-view behavior is definitely
noticeable. The headers buffer would pop up in random and inconvenient
places (at the top of another column, in the bottom, ...) if it was
previously buried. Sometimes one of the whole-column windows would get
killed and throw off the whole layout.
I use Emacs as my window manager (EXWM) and usually have a lot of Emacs
windows open when reading and replying to email, to look things up in
dired, PDF viewer, web browser, code, etc.
> One thing that doesn't work in my setup is what happens when I run
> `mu4e~headers-quit-buffer': it quits mu4e altogether. with
> mu4e-split-view set to `horizontal', it just returns to the main
> view. The point is that I run OfflineIMAP from within Emacs, and
> I've advised `mu4e-quit' to also kill OfflineIMAP.
You are right, it was my mistake to make mu4e~headers-quit-buffer quit
mu4e. The obvious thing for it to do is just to kill the current buffer.
> On a more general, unrelated, note: how do people do this anyway?
> I've had my setup for so long I forgot that it's not mu4e's
> default behaviour...
Right now I have 9 email accounts across various providers and work
offline a lot, and in general disable all notifications. My setup is to
run offlineimap manually from eshell, mu4e-update-index is done by the
`g' key, and both mail queueing and sending is done by smtpmail.el -
sending is done asynchronously by another emacs process in batch mode
run from eshell.
> Another thing (back to the new single-view option): Right now,
> invoking mu4e gives you the minibuffer prompt, but if you select
> e.g., 'Update email & database' or `;' to switch contexts, you end
> up back in the (non-mu4e) buffer where you started. It would be
> nice if instead the menu that's presented in the minibuffer would
> still be active. One way to implement this is to do something
> similar to what the hydra package does, which IIUC amounts to
> creating a dedicated buffer for the menu and using
> `set-transient-map' to set a temporary overriding key map.
That is a very good suggestion. I made a change to make ; loop back to
the minibuffer main menu.
I tried it out also for Update, but that clashed with GnuPG pinentry.
Even without pinentry, it was not obvious when to display the minibuffer
main menu: right away, while offlineimap/mu processes were still running
(but then you don't have the latest mail), or make a
mu4e-update-post-hook (but offlineimap takes so long I would be doing
something in another buffer, and having anything pop up is exactly what
single-window is made to avoid).
The changes can be seen in this Github pull request:
https://github.com/djcb/mu/pull/1095/files
Please let me know how well that works or if you think other things need
fixing.
Thank you,
Vladimir