Split off the MIME-handling from mu4e-view.el into its own
mu4e-mime-parts.el
Improve the implementation, updating completions with annotations.
Support "Pick all" for completing attachments and MIME-types.
Both attachment/inline disposition MIME-type with a file name are
considered "attachment" now.
Allow MIME-part actions to target multiple MIME-parts.
In single-window mode, after quitting the view, explicitly restore the
point in the headers view to the last viewed message (just like in split
view mode).
* mu4e/mu4e-headers.el (defcustom mu4e-header-actions): Convert
from defvar. Add action for browsing online archive.
* mu4e/mu4e-view.el (defcustom mu4e-view-actions): Change use of
`seq-filter' to `delq'. Add action for browsing online archive.
So that the type definitions reflects the docstrings more closely. In additon,
fixed warnings from flymake about docstring.
* mu4e/mu4e-draft.el
mu4e-compose-keep-self-cc: should be a comma
* mu4e/mu4e-folders.el
mu4e-maildir-shortcuts: recognize new (plist) format
* mu4e/mu4e-helpers.el
mu4e-debug: removed unnecessary double space in docstring
* mu4e/mu4e-query-items.el
mu4e-query-rewrite-function: prepend "\\=" before column 0 "(" in docstring
* mu4e/mu4e-search.el
mu4e-search-sort-field mu4e-search-sort-direction: used radio in types
* mu4e/mu4e-server.el
mu4e-mu-binary: "mu" executable must exist
* mu4e/mu4e-view.el
mu4e-view-fields: fixed type
mu4e-view-actions: for function refs, prefer "#'" rather than "'"
Without creating some kind of a temporary name (which could then be
trivially renamed by the user as the current instructions say) a new
user trying to learn how to detach a view will run into this error when
switching to a new message after detaching:
[mu4e] Detached view buffer from *mu4e-headers*
funcall-interactively: No buffer named *mu4e-article*<2>
It seems like a good default and less friction to create a random name
automatically when detaching.
If the headers buffer isn't in a live window (e.g., mu4e-split-view
is 'single-window), get-buffer-window will return nil. In turn,
with-selected-window will die if fed a nil window, so default to using the
current window in this case.
This fixes a regression from c23dad7058 that
prevented using n/p from a view buffer.
That restores the classic mu4e style. I.e.,
With default settings, e.g.
case 1: - (1)go to inbox -> (2)see headers -> (3)open message ->
window splits -> (4)read message -> (5)'q' . Window closes and we're
back to (2). All good!
The more complicated step is
case 2: (4) read message -> (5) reply to message -> (6) done
replying -> back to (4) but for some reason when pressing 'q' now,
the window is not closed, but replaced by the headers window (so we
have 2 now. [ I think it should behave just like in case 1 ]
This fixes that.
If `browse-url-handlers` is set `mu4e-action-view-in-xwidget` function
tries to open url in the handler first instead of xwidget. This is
happening because `browse-url` first checks `browse-url-handlers` and
`browse-url-browser-function` after.
Signed-off-by: Aleksei Atavin <axeoman@gmail.com>