Commit Graph

1717 Commits

Author SHA1 Message Date
Salman Mohammadi 539a946aa4
mu4e/*: fix license notice at the start of source files
At the start of mu4e/* files, the license has been wrongly attributed
to GNU Emacs instead of mu4e.

Fixes https://github.com/djcb/mu/issues/2019
2021-05-29 23:45:10 +02:00
Dirk-Jan C. Binnema 0bb8ad6e4c
Merge pull request #2016 from Profpatsch/mu4e-view-dont-overwrite-home-and-end
mu4e-view: remove <home> and <end> bindings
2021-05-29 15:31:52 +03:00
Tassilo Horn b7fb722df6 Add support for bug-reference auto-setup in mu4e-view-mode
The bug-reference mode in Emacs 28 has support for several kinds of auto-setup,
one of them being for mail customizable by the variable
`bug-reference-setup-from-mail-alist`.  Add mu4e support for that so that users
can simply do

    (add-hook 'mu4e-view-mode-hook #'bug-reference-mode)

and have it working.

Also squash one byte-compiler warning about the (at compile-time) undefined
variable `gnus-article-buffer`.

* mu4e/mu4e-utils.el (mu4e-view--try-setup-bug-reference-mode): New function.
2021-05-28 23:33:08 +02:00
Profpatsch d106237c5a mu4e-view: remove <home> and <end> bindings
Users usually have `<home>` and `<end>` bound in their configuration,
for Spacemacs the default is “move-beginning-of-line” and “move-end-of-line”.

The mu4e view mode should not rebind basic navigation keys like these.
2021-05-20 14:16:37 +02:00
Dirk-Jan C. Binnema cefd66159a mu4e-headers: use the mu engine thread-subject
Instead of handling in the headers (which were broken).  The messages
that are hidden are _slightly_ different than before.
2021-05-04 17:36:24 +03:00
Dirk-Jan C. Binnema 2574071ac8 mu4e-view-gnus: use default for gnus-unbuttonized-mime-types
Changing it (e.g., to nil) doesn't work well with clickable URLs.
2021-05-02 23:48:30 +03:00
Dirk-Jan C. Binnema fa8505fa5a mu4e-vars: add thread-path/-date custom headers
Useful for debugging.
2021-05-02 23:33:06 +03:00
Dirk-Jan C. Binnema d0d305b48f mu-headers: Tweak thread prefix
Avoids some confusion.
Fixes: #1994.
Fixes: #1933.
2021-05-02 23:30:32 +03:00
Thierry Volpiatto b5656a7991
Fix #2006 by using cl-loop in mu4e-action-view-in-browser instead of seq
Using cl-loop is much simpler and readable, than using mapconcat+seq+seq.
Also it avoids requiring seq (which is not done actually).
2021-05-02 18:32:07 +02:00
Thierry Volpiatto 008f9fe443
Insert text without its text properties when replying 2021-05-01 20:28:55 +02:00
Dirk-Jan C. Binnema a11008deab Revert "mu4e-view-gnus: use the gnus mech to identify urls"
This reverts commit 6d9bd548f1.

Changes breaks article treatment.
2021-04-28 15:02:29 +03:00
Dirk-Jan C. Binnema 6d9bd548f1 mu4e-view-gnus: use the gnus mech to identify urls
Add mu4e~view-urlify, which replaces mu4e~view-activate-urls, and let
gnus determine where the URLs are.
2021-04-28 07:14:20 +03:00
Dirk-Jan C. Binnema 453c7f84e8 mu4e-view-gnus: don't render in invisible buffer
It seems that prevents image resizing from working.

Should help for issue #1998.
2021-04-27 00:10:11 +03:00
Dirk-Jan C. Binnema 5103f4614e mu4e-view-gnus: show URL links
Fixes: #1990.
2021-04-26 21:22:54 +03:00
Christophe Troestler 163fa1ee87 mu4e: Decode headers before viewing in browser 2021-04-26 01:50:23 +02:00
Christophe Troestler a9a874937e mu4e: Minor fixes to texinfo documentation 2021-04-26 01:40:11 +02:00
Dirk-Jan C. Binnema 3799975714 mu4e-view: only kill existing buffer 2021-04-25 14:05:27 +03:00
Dirk-Jan C. Binnema 15ab2c8d3a mu4e-view-gnus: better cleanup buffer
avoid seeing leftover MIME-parts of older buffers.
2021-04-25 13:44:57 +03:00
Dirk-Jan C. Binnema 704e631e8d mu4e/doc: document gnus rich-text handling 2021-04-25 11:41:24 +03:00
Dirk-Jan C. Binnema 6f206f0f7e mu4e-view-gnus: use gnus image variables directly
Let's avoid some wrapper code and use the gnus variables directly.
And some documentation updates.
2021-04-25 11:41:09 +03:00
Dirk-Jan C. Binnema f377483c16 mu4e-view-gnus: activate URLs
So we can follow them using 'g'
2021-04-25 09:08:59 +03:00
Dirk-Jan C. Binnema 71e0223d86 mu4e-view-gnus: implement mu4e-action-view-in-browser
Reimplement the browser view code for the gnus-based viewer; and let
gnus handle it too.

On change is that we currently only support showing html-messages.
2021-04-24 22:37:03 +03:00
Dirk-Jan C. Binnema 11bea28dad mu4e-view-gnus: cleanup message rendering
Refactor the way we view messages (using gnus) to reduce duplicate code.
Overall, cleanup the rendering part a bit.
2021-04-24 22:34:40 +03:00
Dirk-Jan C. Binnema 0218ed9a68 mu4e/meson.build: ensure builddir is checked first
Used for mu4e-meta.el. Not having this seems to break some users
meson-build.

HT: derek-zhou
2021-04-23 09:56:51 +03:00
Dirk-Jan C. Binnema 3a418745e1 mu4e-speedbar: fix compiler warning 2021-04-23 09:56:27 +03:00
Thierry Volpiatto bce31241a5
Remove unneeded or clause in mu4e-view-save-attachments 2021-04-22 19:30:23 +02:00
Dirk-Jan C. Binnema c6f2bf5333 Revert "mu4e-view-gnus: refactor message rendering code a bit"
This reverts commit 515af3e3d2, since it
broke the attachments display.
2021-04-20 10:54:41 +03:00
Dirk-Jan C. Binnema 515af3e3d2 mu4e-view-gnus: refactor message rendering code a bit
Split out the shared parts from mu4e~view-gnus and
mu4e~view-message-text.
2021-04-14 00:23:11 +03:00
Stephen J. Eglen f80123bb3e Simplify the code for using dired to attach messages
I originally sent some code to the mailing list in 2012 to use dired
for marking attachments.

https://groups.google.com/g/mu-discuss/c/OPwdNZbB5GE/m/hnjNlNoLIu8J

As the function in gnus.el has since been fixed, the version of
gnus-dired-mail-buffers now works fine with mu4e (and has done for
many years).  I suggest deleting the old code to make the
documentation simpler assuming that people are no longer on Emacs from
9 years ago.
2021-04-13 17:29:18 +01:00
Stephen J. Eglen 8a4a0e9a1c Spelling fixes and simplifying some code 2021-04-13 17:15:40 +01:00
Christophe Troestler e00faf6cd3 mu4e-headers: Set the point in the correct frame after search
Fixes https://github.com/djcb/mu/issues/1977
2021-04-12 23:54:13 +02:00
Christophe Troestler 561079d868 mu4e-mark: Allow executing marks without passing a prefix argument 2021-04-12 21:59:52 +02:00
Dirk-Jan C. Binnema 55d8d20771 mu4e-view-gnus: Don't special-case Ivy
Unlike helm, it's not good for multi-selections.
2021-04-12 22:12:23 +03:00
Dirk-Jan C. Binnema b68a12692f mu4e-mark: don't be too eager to avoid confirmation
Fixes: #1974.
2021-04-12 18:01:38 +03:00
Philip "Galli" Rentschler b8fe2ba682
skip confirmation when executing marks
When running `u4e-mark-execute-all` with any prefix-arg you can skip the confirmation-prompt. The potential for accidentally hitting this is quite low.
2021-04-09 16:53:48 +02:00
Dirk-Jan C. Binnema 5d414cffc9
Merge pull request #1967 from Chris00/ical
mu4e/ical: Compose the response attaching the calendar
2021-04-08 19:51:38 +03:00
Christophe Troestler 1dbe818378 mu4e/ical: Set `mu4e~view-rendering' to t as a buffer local variable
When an ics file is attached but not visualized by default, this is
necessary in order trigger the bug workaround in the advice attached
to `gnus-icalendar-event-from-handle'.
2021-04-06 15:29:56 +02:00
Christophe Troestler f673911277 mu4e/ical: Compose the response attaching the calendar
This composes the response before any hook is run which is important
so that, if those hooks modify the message, they are aware that some
MML is present.  In particular, this is needed to have the
compatibility with the org-msg package; see
https://github.com/djcb/mu/issues/1956
2021-04-06 15:29:20 +02:00
Christophe Troestler a9dd573c47 mu4e/doc: Describe `mu4e-view-blocked-images' 2021-04-06 10:19:20 +02:00
Dirk-Jan C. Binnema 0f03a03d64
Merge pull request #1962 from Chris00/attach-buffer
mu4e/compose: attach buffers & files setting any property
2021-04-06 00:14:47 +03:00
Christophe Troestler b2b8f562f7 mu4e/compose: attach buffers & files setting any property 2021-04-05 22:35:58 +02:00
Christophe Troestler afaf613a92 Enable the user to control which external images not to display 2021-04-05 11:39:44 +02:00
Stephen J. Eglen 5d859d005f Respect switch-function in compose-mail.
Emacs has several standard keybindings

C-x m   compose-mail
C-x 4 m compose-mail-other-window
C-x 5 m compose-mail-other-frame

This patch fixes the creation of new mail buffers to respect the
latter two keybindings, C-x 4 m and C-x 5 m.

Note that there is already the variable mu4e-compose-in-new-frame
which if true opens in a new frame.  That will still work for C-x m
and C-x 5 m, but if the user runs C-x 4 m, it switches to other-window
as it assumes the keybinding takes precedence.  This behaviour can be
changed within mu4e~draft-open-file.
2021-04-03 22:23:21 +01:00
Nacho Barrientos ecc96e93f7 Fix typo 2021-04-01 16:06:52 +02:00
Alex Bennée 285fdc5d5d mu4e/mu4e-headers: remove excess message output
When marking threads as read things are slowed down by echoing the
thread path to the mini-buffer. I assume this is left over debug but
if needed for something else should probably be a log call.
2021-03-31 10:04:03 +01:00
Dirk-Jan C. Binnema f3e13b5201 mu4e-view-gnus: Implement mu4e-view-massage
Expose some of the Gnus article treatment functions.
2021-03-23 17:39:12 +02:00
Dirk-Jan C. Binnema c44b855d78 mu4e-view-gnus: Update keybindings 2021-03-23 17:39:12 +02:00
Dirk-Jan C. Binnema bae7a198c5 mu4e.texi: Update documentation 2021-03-23 17:39:12 +02:00
Dirk-Jan C. Binnema 33fb6c58cf mu4e-actions/view: Reorganize example actions a bit
The ones that require the "old" view (now or in the near future) are
move to mu4e-view-old.el.
2021-03-23 17:39:12 +02:00
cog 3e38c9ec5f Add ivy completion when saving attachments 2021-03-23 10:03:14 +01:00
Dirk-Jan C. Binnema afedfc6708 mu4e-view: Implement actions for gnus-view MIME-parts
In the "old" view, we had `mu4e-view-mime-part-actions`, which describes
various actions on attachments; in the brave new gnus-based view, those
do not work, but we have added something better:
  mu4e-view-mime-part-actions

This needs some more documentation, but is useful already.
2021-03-21 00:14:54 +02:00
Christophe Troestler f311b9455c mu4e/view-gnus: Make Gnus email clickable links work 2021-03-18 19:26:00 +01:00
Dirk-Jan C. Binnema c04d9ceff0 mu4e-view-gnus: Set buffer name earlier
Seems some hooks might depend on the buffer being called *Article* in
hooks.
2021-03-18 00:50:30 +02:00
Christophe Troestler 76a904be26 mu4e/view: make URLs clickable again 2021-03-17 18:53:25 +01:00
Christophe Troestler b2877a237c mu4e/view-gnus: Gnus view is no longer experimental 2021-03-17 18:03:18 +01:00
Dirk-Jan C. Binnema 811ae26574 Merge branch 'draft-context' 2021-03-17 11:36:12 +02:00
Al Haji-Ali b094da8cd4 mu4e: Added mu4e-compose-context-switch for draft messages
Allow updating the context for the current draft message.
2021-03-17 11:35:09 +02:00
Christophe Troestler 1c9e1f4be1 mu4e/icalendar: Use a closure to trash the original message
This work around the fact that `defun' has an undefined return value.
2021-03-17 00:34:04 +01:00
Christophe Troestler 2d67b66506 mu4e/icalendar: Avoid unused lexical variable gnus-icalendar-find-if
This syncs the definition of mu4e-icalendar-reply with the one of
gnus-icalendar-reply and, in turn, avoids the compiler warning
“Unused lexical variable `gnus-icalendar-find-if'”.
2021-03-16 23:55:02 +01:00
Christophe Troestler 339a17852b mu4e/icalendar: Restore the deletion of the citation 2021-03-16 23:55:02 +01:00
Christophe Troestler 3621314ac2 mu4e/icalendar: fix free variable ‘original-msg’ 2021-03-16 23:55:02 +01:00
Dirk-Jan C. Binnema e6d92d4fef meson: Generate version.texi for guile, mu4e
So we can build from a clean git clone.
2021-03-17 00:16:49 +02:00
Dirk-Jan C. Binnema 2fac2bb602 mu4e/view-gnus: Don't allow gnus-button-reply
Since it will reply in *gnus* rather than in mu4e. Perhaps we can hook it
up with mu4e... but not now.

Fixes: #1949.
2021-03-16 23:09:21 +02:00
Dirk-Jan C. Binnema 2437dc27c9 mu4e: Replace mu4e-view-use-gnus with mu4e-view-use-old
Make mu4e-view-use-gnus obsolete (it's the default now), and add a
variable mu4e-view-use-old (which must be set before starting mu4e).

Update documentation / mentions.

Load the correct view when starting mu4e, so people can customize
e.g. the keymap.

Add some sanity checking.
2021-03-16 19:57:36 +02:00
Thierry Volpiatto 723081268d
Fix mu4e-view-common header line 2021-03-16 17:33:59 +01:00
Dirk-Jan C. Binnema 7f244ee454 mu4e/view: Restore URL activation, TAB
Make URL activation work again (with mouse, M-RET), and TAB in
gnus-view.

Fixes: #1946.
2021-03-16 17:13:36 +02:00
Dirk-Jan C. Binnema b7660ed33d mu4e-view: decrypt when replying
Let's decrypt a message before replying.

HT: Thierry Volpiato.
2021-03-16 08:58:43 +02:00
Dirk-Jan C. Binnema d0615a959f mu4e-vars: fix some defface declarations
use :weight, :slant rather than :bold, :italic.
2021-03-16 08:56:01 +02:00
Dirk-Jan C. Binnema 931cfe5d86 mu4e: clear up mu4e~view-message
Remove duplicate definition of mu4e~view-message in mu4e-view-old

Set it earlier in mu4e-view-gnus (so it can be used in mode-hooks).
2021-03-15 22:56:30 +02:00
Dirk-Jan C. Binnema 0153f7538e mu4e: update documentation
Add the beginning of some docs for the gnus-view.
2021-03-15 22:55:21 +02:00
Dirk-Jan C. Binnema b100c963fc mu4e-view-common: fix typo
its *actions*, not *action*.

Fixes: #1942.
2021-03-13 10:47:45 +02:00
Dirk-Jan C. Binnema 44d801e2b0 mu4e-view-gnus: cleanup keymap
Do not derive the keymap from gnus article mode, so we don't get the
unwanted menu entries, and don't need to disable things manually.
2021-03-12 22:28:51 +02:00
Dirk-Jan C. Binnema 9423212fa0 mu4e: improve mu4e-view-message-text
Attempt to take the Content-Type into consideration when decoding.
2021-03-12 22:26:26 +02:00
Dirk-Jan C. Binnema bcd728651f mu4e-view: move some settings from old->comon
To avoid user config errors when using the new view
2021-03-12 22:22:06 +02:00
Dirk-Jan C. Binnema d12d85e187 mu4e: work-around for format-flowed corner-case
Fixes: #1938
(fixes, eh, works around it)
2021-03-11 19:41:53 +02:00
Dirk-Jan C. Binnema 8d1175f511 mu4e: avoid some compiler warnings
(require) necessary things etc.

warnings for using "obsolete" code are still there since things should
work on emacs 25.3
2021-03-11 10:17:00 +02:00
Dirk-Jan C. Binnema e2655ba34b mu4e-view: re-enable the gnus/old split
re-enable the gnus/old split (the key was re-implementing
mu4e-view-message-text for gnus)

split helpers into mu4e-view-common

as a bonus 'go to url' now also works with gnus
2021-03-10 20:53:33 +02:00
Dirk-Jan C. Binnema 316633e1b2 mu4e: unsplit the gnus/old views
Was not quite working.
2021-03-07 23:27:45 +02:00
Dirk-Jan C. Binnema f002379a87 mu: move mu-view-fields to mu-view.el
We need it in both mu-view-old and mu-view-gnus.
2021-03-07 22:03:36 +02:00
Dirk-Jan C. Binnema ed2e0ed0c3 mu4e-view: make the gnus-based view the default one
Use
  (setq mu4e-view-use-gnus nil)
to use the old one.
2021-03-07 17:35:30 +02:00
Dirk-Jan C. Binnema c1f08e1683 mu4e-view: split in -gnus and -old
Split out the gnus-based and "old" view code into separate files, and
ensure only one of them is loaded.

Do some initial cleanups, more will follow.
2021-03-07 16:42:55 +02:00
Dirk-Jan C. Binnema 6af47e3a92 meson: sync with autotools re mu4e/obsolete 2021-03-07 16:42:55 +02:00
Dirk-Jan C. Binnema 0bfc4b7ca3 mu4e: move org-mu4e to obsolete/
It's really not supported anymore.
2021-03-04 22:03:23 +02:00
Dirk-Jan C. Binnema fcf5a27347 mu4e-headers: Fix subthread marking
Fixes: #1930.
2021-03-04 21:58:25 +02:00
Dirk-Jan C. Binnema ded1de96e6
Merge pull request #1937 from thierryvolpiatto/Fix_mu4e-view-gnus-save-mime-parts
Fix error in mu4e-view-gnus-save-mime-parts
2021-03-03 12:07:32 +02:00
Dirk-Jan C. Binnema c6d24164b2
Merge pull request #1913 from plantarum/ical-templates
Documented icalendar capture template
2021-03-03 12:06:40 +02:00
Thierry Volpiatto 117f438e10
Fix error in mu4e-view-gnus-save-mime-parts
where `handle' may not be a list (here a marker when I had error).

So ensure it is a list.
2021-02-23 21:24:44 +01:00
Tassilo Horn 7471536213 Read query with completion also when editing a bookmark
This wraps up some change that somehow didn't get applied when merging PR #1921
and also offers completion when editing a bookmark.

* mu4e/mu4e-headers.el (mu4e-headers-search): Read query with completion also
when editing a bookmark.
2021-02-17 16:26:47 +01:00
Dirk-Jan C. Binnema 9367a4dd95 mu4e-headers: sort threaded headers by date
In "threaded-mode", we only sort by date; reflect this in the UI.
2021-02-16 19:34:05 +02:00
Dirk-Jan C. Binnema 895f580b99 mu4e-headers: show search props in mode-line
I.e., whether a search is threaded/include-related/full.

There's high bike-shed potential, but let's not do that yet.
2021-02-12 20:39:49 +02:00
Dirk-Jan C. Binnema 2d91a9ab27 mu4e-headers: fix compiler warning
'free variable'

and use mu4e~ rather than mu4e--
2021-02-12 20:39:01 +02:00
Dirk-Jan C. Binnema 8405788f27 docs: update documentation
Update the mu-find man-page; update NEWS.org and mu4e.texi for the way
threading works.
2021-02-12 19:14:37 +02:00
Dirk-Jan C. Binnema bf5c93aab6
Merge pull request #1921 from tsdh/make-jump-maildir-query-editable-with-prefix-arg
mu4e-jump-to-maildir: offer editing the query when a prefix arg is given
2021-02-12 00:53:07 +02:00
Dirk-Jan C. Binnema 7a70942e67 build: experimental support for the meson build system 2021-02-12 00:49:35 +02:00
Tassilo Horn 6632e6c7f3 mu4e-jump-to-maildir: offer editing the query when a prefix arg is given
Also refactor the now two usages of the query completion feature into a
separate function `mu4e-read-query'.
2021-02-03 14:49:05 +01:00
Dirk-Jan C. Binnema 9802ae9dc8 mu4e-headers: jump to message _outside_ save-excursion
Fixes: #1889.
2021-01-30 12:40:00 +02:00
plantarum a440510cdd changed from before/setq to around/let to limit scope
let is better than setq, as it doesn't permanently alter the value of
org-overriding-default-time. The setq has knock-on impacts in future
captures that use the value of this variable, if it is set.
2021-01-26 13:52:43 -05:00
plantarum 51f0a6b739 Added doc for automatically setting the datetree location
Advice appears to be the cleanest way to do this.
2021-01-26 10:46:21 -05:00
plantarum a7ae9951fa Documented icalendar capture templates
It's not documented in gnus-icalendar, so the explanation comes straight
from my reading of the code.
2021-01-25 20:59:51 -05:00
Dirk-Jan C. Binnema 2b9732c669 mu4e: update documentation 2021-01-22 23:24:53 +02:00