When we mark a message as read, we get an (:update ... ) with the
marked-as-read message (ie., moved from new/ to cur/).
The (:update ...) however does _not_ include extracted images etc.; so
images in unread message would not be visible at that time. To fix this,
to another (:view ...) and extract the images etc.
Thanks to tangxinfa for pointing this out.
Add a defcustom `mu4e-view-use-gnus`, which, when `t', use Gnus'
article-mode for displaying messages instead of mu4e's built-in mode.
This is experimental, and a view messages do not display
correctly yet (base64-encoded bodies).
before text insertion and run finally the hook at end.
This ensure local variables are not killed after being set.
* mu4e/mu4e-view.el (mu4e-view): Do it.
* mu4e/mu4e-view.el (mu4e-view): `mu4e~view-make-urls-clickable`
should run after `mu4e-view-mode` otherwise an error popup telling the
hash-table storing links is nil.
Display the signers in the signature headers, so users can easily very
that a verified signed message was indeed signed by the expected sender.
We can't check using 'From:' automatically as that gives too many false
negatives.
Single-window mode is meant to minimize mu4e window operations (opening,
killing, resizing, etc) and buffer changes, while still retaining the
view and headers buffers. In addition, it replaces mu4e main view with a
minibuffer prompt containing the same information.
* mu4e/mu4e-view.el (mu4e-view-attachment-action):
Handle multi save in mu4e-view-attachment-action.
* mu4e/mu4e-view.el (mu4e-view-attachment-actions):
Make mu4e-view-attachment-actions a defcustom and add some options.
New user variable mu4e-view-attachment-assoc.
* mu4e/mu4e-view.el (mu4e-view-attachment-assoc): New.
(mu4e-view-open-attachment-with): Use it.
Make mu4e-view-toggle-html _not_ toggle the global value of of
mu4e-view-prefer-html, but only the current one.
Make the link map 'permanent', so it survives the buffer changes when
refreshing. This fixes issue #904.
Now, when going to a message with certain message-id, do open a headers
buffer as well. This way, message opened this behave just like an other
message, and can be delete, flagged etc.
As a bonus, you get the whole message thread for a given
message (depending on settings)
mu4e-view-message-with-message-id now does a search and
mu4e-headers-search allow for some extra actions to open a specific
message in a hook function.
Add `mu4e-compose-resend` to the menus in the headers and view
modes. Don't add a shortcut, as it's a fairly rarely needed feature, and
might be confusing if invoked accidentally.
Add mu4e-view-fetch-url for fetching (downloading) URIs linked to in
e-mails. Add the 'f' keybinding for this, and document it.
Based on code by inigoserna.
Add `mu4e-view-toggle-html' for toggling between html and text display
of messages (when available); keybinding 'h'. Document this.
The new default keybinging for mu4e-view-toggle-hide-cited becomes '#'.
Make `global-mode-string' local in all buffers where we use it, so we
don't leak the "context" string outside mu4e.
Also add the context string to the compose buffer's modeline.
This fixes#740.
Because this was a lambda C-h m would just show "??" instead of the
function name, and the documentation would be really confusing since it
showed the deparsed lambda function instead of the function name being
called.
Fix this by refactoring both the view & headers [ and ] functions into
named functions, and make their shared logic new internal
mu4u~{headers,view}-* functions.
* mu4e/mu4e-view.el (mu4e-view-message-text):
When using `propertize' all properties added by `mu4e-html2text-command'
in html message are overwrited by `mu4e-view-body-face', so use here
`add-face-text-property' if available, otherwise behave as before and return
body unchanged.
This allows setting a custom face for the message body, e.g., if you
prefer a proportional font for the body:
(set-face-attribute 'mu4e-view-body-face nil :font "Liberation Serif-10")