Commit Graph

2284 Commits

Author SHA1 Message Date
Dirk-Jan C. Binnema fa0248a361 mu4e-view: unfold threads when working in headers-context
It's a bit hard otherwise to keep headers/article in sync.

Fixes #2498.
2023-11-22 21:41:02 +02:00
Dirk-Jan C. Binnema 087d06c5d3 mu4e-compose: implement mu4e-compose-supersede
Hook up `message-supersede` which you can /supersede/ your own messages;
that is, send the message as kind-of reply to the same recipients. This
only works if you were the sender.

This should help for #2584.
2023-11-22 21:41:02 +02:00
Dirk-Jan C. Binnema e0826d10b1 mu4e-contacts: fix some noise
Fixes #2598.
2023-11-18 19:12:29 +02:00
Dirk-Jan C. Binnema 3a506846f9 mu4e-view: do not bind message-alternative-emails recursively
Fixes #2597.
2023-11-16 19:03:13 +02:00
Dirk-Jan C. Binnema d814d4630f mu4e-headers: remove overlays in mu4e~headers-clear
This is needed to clear-up message threads
2023-11-16 18:59:43 +02:00
Dirk-Jan C. Binnema 1936d4eec3 mu4e-compose: ensure message-mail-user-agent is nil
Unbreak some user setups

Fixes #2596.
2023-11-15 15:52:58 +02:00
Dirk-Jan C. Binnema 08ebe87f81 mu4e-view: fix typo
a rogue ' snuck in.
2023-11-13 10:42:04 +02:00
Dirk-Jan C. Binnema 17ea8bd613 mu4e: fix background mu4e
Fixes #2593.
2023-11-12 23:29:51 +02:00
Dirk-Jan C. Binnema e71640fdfa mu4e-view: tidy-up mu4e-view-message-text 2023-11-12 23:29:51 +02:00
Dirk-Jan C. Binnema 3c19613cf0
Merge pull request #2594 from Chris00/master
mu4e-compose-mail: fix the number of parameters of the closure
2023-11-12 23:15:17 +02:00
Christophe Troestler 8d8a5a9844 mu4e-compose-mail: fix the number of parameters of the closure 2023-11-12 21:09:24 +01:00
Christoph Reichenbach 490dc8869b When re-tagging, force `replace-match' to preserve case
Sets the second parameter to `replace-match' to t, thus forcing it to
not attempt to auto-adjust the case of any tags.
2023-11-12 10:51:47 +00:00
Dirk-Jan C. Binnema a720c9cb1c mu4e-compose: split citing / header extraction
We use a body from mu4e-view-message-text for citing, and
mu4e--decoded-message for header extraction.

There's room for some refactoring.
2023-11-10 16:47:34 +02:00
Dirk-Jan C. Binnema 117600ef20 mu4e-main: cosmetics / docs 2023-11-10 16:47:23 +02:00
Dirk-Jan C. Binnema 2058f15506 mu4e: improve startup routine
Switch to main buffer if it already exists, in the non-background case.
2023-11-10 16:47:23 +02:00
Dirk-Jan C. Binnema 171fe9a018 mu4e-compose: add missing arg to mu4e-compose-new lambda 2023-11-08 18:18:47 +02:00
Dirk-Jan C. Binnema 30a78d3cb9 mu4e-compose: use raw message for "forward"
Not the decoded one.
2023-11-08 15:33:47 +02:00
Christophe Troestler 0941b37fcc Fix mu4e-compose-mail 2023-11-08 10:00:16 +01:00
Christophe Troestler d19c78f30d mu4e: Fix warnings in contrib 2023-11-08 10:00:06 +01:00
Dirk-Jan C. Binnema ea7c05c183 mu4e-compose: implement mu4e--decoded-message
Instead of mu4e-view-message-text, use a more targeted approach that
does just enough to get a decoded message with all the headers, which we
can use for replying.
2023-11-07 16:40:09 +02:00
Dirk-Jan C. Binnema c76c410256 mu4e: always include message-id in mu4e-view-message-text
Regardless of mu4e-view-headers; and ensure the message-id is in
<brackets>.
2023-11-05 17:52:14 +02:00
Dirk-Jan C. Binnema 556396bb85 mu4e-compose: explicitly generate-headers
Ongoing troubles with this, and apparently some differences between
Emacs versions (?).

Explicitly generated the needed headers.
2023-11-05 16:47:08 +02:00
Dirk-Jan C. Binnema dfe28f033a mu4e-view: do full render in mu4e-view-message-text
Otherwise decoding does not work correctly.
2023-11-04 23:38:02 +02:00
Dirk-Jan C. Binnema a551aaa694 mu4e-compose: rework header insertion
Clean up the composition pipeline a bit, and set
message-generate-headers-first explicitly.

Hide headers later.
2023-11-04 23:38:02 +02:00
Dirk-Jan C. Binnema c3bc50bd02 mu4e-view: assign gnus-article-buffer in mu4e-view-mode
Some external programs (such as bbdb) seems to depend on that.
2023-11-04 11:16:24 +02:00
Dirk-Jan C. Binnema 8abf0983fd mu4e-compose: make draft-editing work in new setup
Move around initialization a bit so we can use it for draft-editing as
well.
2023-11-03 21:17:43 +02:00
Dirk-Jan C. Binnema b428d9702e mu4e-compose: make mu4e-compose-dont-reply-to-self obsolete
Doesn't really fit in nicely with the new composer; update NEWS.org,
manual for users to migrate.
2023-11-03 21:17:43 +02:00
Dirk-Jan C. Binnema 541c818a9f mu4e-compose: include references / in-reply-to
For replies and forwarded messages.
2023-11-02 22:21:10 +02:00
Dirk-Jan C. Binnema 5b29ad8b6d mu4e-compose: use seq-filter instead of seq-keep
seq-keep is only arrived with emacs 29, and seq-filter does the job
2023-11-01 19:46:47 +02:00
Dirk-Jan C. Binnema 9f39d78a71 mu4e-compose: use decoded message for replying
Or From: etc. would use some undecoded version with some
=?iso-8859-1?Q?.... blobs.
2023-11-01 19:46:47 +02:00
Dirk-Jan C. Binnema 79281256a6 mu4e: make defvar mu4e-view-completion-minor-mode-map
So users can customize it.
2023-11-01 18:42:23 +02:00
Dirk-Jan C. Binnema b1587607e1 mu4e: obsolete some compose vars, update NEWS.org
We can re-use the existing implementations.
2023-10-31 19:45:17 +02:00
Dirk-Jan C. Binnema a02ef7bb07 mu4e-search: allow updating keymap for minor mode 2023-10-30 22:55:42 +02:00
Dirk-Jan C. Binnema a696902c34 mu4e-compose: allow updating keymap for minor mode 2023-10-30 22:55:42 +02:00
Dirk-Jan C. Binnema eee73f8199 mu4e: better handle alternative address
In compose / contacts
2023-10-29 17:16:05 +02:00
Dirk-Jan C. Binnema 00191a3ec7 mu4e: improve mu4e-compose-dont-reply-to-self handling
Use mu4e-personal-or-alternative-address to decide on whether an address
belongs to "this user". Update docs.
2023-10-29 17:15:35 +02:00
Dirk-Jan C. Binnema ea78fab0ef mu4e-view: remove ^M from raw message
They can cause rendering issues later.
2023-10-29 17:15:35 +02:00
Dirk-Jan C. Binnema b30e774c12 mu4e: update documentation 2023-10-29 17:15:35 +02:00
Dirk-Jan C. Binnema 61c8067491 mu4e-compose: add in-reply-to when needed
Was missing.
2023-10-26 18:34:07 +03:00
Dirk-Jan C. Binnema 8be95f2616 mu4e-icalendar: update for new composer
Rework a bit for the new composer; and make the calendar-support
"built-in".
2023-10-25 22:05:06 +03:00
Dirk-Jan C. Binnema b2f3a63a3a mu4e.texi: update composer documentationx 2023-10-25 22:05:06 +03:00
Dirk-Jan C. Binnema 84b50fb10f mu4e-window: let composer handle buffer creation
Fits better with how emacs does it.
2023-10-25 22:05:06 +03:00
Dirk-Jan C. Binnema 13d068f183 mu4e: update headers/view for new composer 2023-10-25 22:05:06 +03:00
Dirk-Jan C. Binnema 85bfe76336 mu4e-compose: overhaul message composer
This is a new composer sub-system, which more closely follows
Gnus/message; in particular, we let gnus take care of creating draft
messages.

This reduces code size and allows us to re-use some of the more advanced
features.

There are a number of user-visible changes:

- `mu4e-compose-resend' directly uses `message-resend', so there is no
  more editing phase (which used to be a bit broken with re-encoding
  MIME messages.
2023-10-25 22:05:06 +03:00
Dirk-Jan C. Binnema 24f1fe8d45 mu4e-contacts: add mu4e-personal-or-alternative-address 2023-10-23 17:24:44 +03:00
reindert 4392d4e308 Fix completion w other keys than quick key 2023-10-18 16:25:52 +02:00
Dirk-Jan C. Binnema 967b724e75 build: avoid dynamic dates for reproducibility
We were using dates (in documentation, (c) notices etc) based on the
build-date; that makes it hard to do reproducible builds, so specify a
specific date in the top-level meson file, and use that throughout.
2023-10-14 15:24:00 +03:00
Dirk-Jan C. Binnema c021433519 mu4e-headers: switch buffer to search results
..except for 'background searches', such as the one after re-indexing.

Fixes #2545.
2023-10-07 08:16:33 +03:00
Dirk-Jan C. Binnema 2c4c3d8d7c mu4e/meson.build: more tweaking to avoid warnings 2023-10-07 00:18:56 +03:00
Dirk-Jan C. Binnema 1bc9d6b515 mu4e: get rid of load-prefer-newer t
This triggered what I think is a bug/limitation in emacs; move the
source files to the build dir _after_ byte-compiling so we don't need
load-prefer-newer to avoid build warnings.

Fixes #2565.
2023-10-05 08:44:11 +03:00
Dirk-Jan C. Binnema 4d11abd1ca mu4e-view: ignore decoding errors
We can't do much about them; still attempt to show the message.

Fixes #2561.
2023-10-05 08:44:11 +03:00
Tassilo Horn 27619a2220 Fix defcustom :type of mu4e-headers-leave-behavior
The const values of the choice had the wrong order `(const :tag <value> <text>)`.
The correct order is `(const :tag <text> <value>)`.
2023-09-28 11:52:39 +02:00
Dirk-Jan C. Binnema 3dad743e16 mu4e-mark: avoid byte-compiler warning 2023-09-21 23:58:55 +03:00
Dirk-Jan C. Binnema 8fc13ab8f3 mu4e: Shorten descriptions a bit 2023-09-20 22:31:19 +03:00
Thierry Volpiatto 67c8ff75a7 Fix missing or incorrect descriptions in file headers
Try to make useful descriptions and use conventional --- to separate filename
from description.
2023-09-20 22:04:48 +03:00
Dirk-Jan C. Binnema b01973205d infodir: allow absolute path
Fixes #2548
2023-09-05 08:34:27 +03:00
Nicholas Vollmer 579ef175a9 mu4e: use special-mode for mu4e-last-update-buffer
This buffer is not intended to be edited.
Special mode also allows quickly dismissing via the quit-window binding.
2023-08-31 12:52:30 -04:00
Dirk-Jan C. Binnema 82152d7fb3
Merge pull request #2546 from progfolio/feat/thread-prefix-face
mu4e: propertize thread prefix characters
2023-08-31 18:49:10 +03:00
Nicholas Vollmer 375e684ce6 mu4e: propertize thread prefix characters
Brings visual consistency to unfolded threads.
2023-08-31 11:12:15 -04:00
Dirk-Jan C. Binnema 7859268202 Revert "mu4e-headers: switch to buffer on current frame"
This reverts commit 11b7e5748c.

The change has some unpleasant side-effect (switching to the headers
buffer from whatever you are doing); needs some more thought.
2023-08-31 10:02:36 +03:00
Dirk-Jan C. Binnema 11b7e5748c mu4e-headers: switch to buffer on current frame
We were possible showing the headers on _another_ frame, which is rather
confusing.

HT: Marcel van der Boom.

Fixes #2545
2023-08-30 18:50:15 +03:00
Dirk-Jan C. Binnema c4a141975e mu4e-view: remove 'describe bindings' override
Not sure where it was there in the first place

Fixes #2541.
2023-08-24 23:28:59 +03:00
Lin Jian 842027fadd
mu4e: generate mu4e-autoloads.el
This file can be used by package.el.
2023-08-24 05:41:14 +08:00
Lin Jian 00f7053d51
mu4e: add mu4e-pkg.el
This file provides information needed by package.el.
2023-08-24 05:41:05 +08:00
Lin Jian e94bf408f2
mu4e: remove mu4e-builddir
It is not used.
2023-08-23 08:08:55 +08:00
Dirk-Jan C. Binnema f73aad2b41 better handle maildir cache
- get an updated maildir list after indexing
- add mu4e-added items to the list opportunistically

Remove mu4e-clear-caches / mu4e-cache-maildir-list to mu4e-obsolete.el

Fixes #2537.
2023-08-19 20:04:50 +03:00
Dirk-Jan C. Binnema 5dcdb88806 mu4e-server: use updated handling for tempfile handling
Update for the server updates, to handle temp-file / normal args uniformly
2023-08-17 22:42:25 +03:00
Dirk-Jan C. Binnema c554e5194a mu4e: get maildirs from server
We were determining the list of maildirs using, but his is rather *slow*.
So instead, get it from the server, through a "data" call.
2023-08-17 22:42:25 +03:00
Christophe Troestler 3d0120d024 Don't use the original message `To` for a reply `To` field
Fixes https://github.com/djcb/mu/issues/2535
2023-08-16 23:03:06 +02:00
Dirk-Jan C. Binnema 677a6d3882 mu4e-search-query: include unread counts if available
In the completion annotation.
2023-08-10 17:11:24 +03:00
Dirk-Jan C. Binnema dd5d5e6bbf mu4e: fix byte-compiler warnings 2023-08-10 09:14:07 +03:00
Dirk-Jan C. Binnema 4dcd457b7f mu4e-update: small doc improvement 2023-08-09 23:24:47 +03:00
Dirk-Jan C. Binnema d5129052df mu4e: implement mu4e-search-query
Pick a query using completing-read with a new command mu4e-search-query.
Update docs.
2023-08-09 23:24:47 +03:00
Dirk-Jan C. Binnema 40a73c70f2
Merge pull request #2530 from danielfleischer/to-cc-pr
To/Cc Lists fix
2023-08-09 23:23:22 +03:00
Dirk-Jan C. Binnema 31bb84182b mu4e: add prefix arg to mu4e-quit
Remove mu4e-main-quit-or-bury and simply update mu4e-quit
to take a prefix which, if non-nil, make mu4e-quit
bury the buffer rather than quite mu4e.

Also make the mu4e check for an existing mu4e buffer, and if found,
switch to it rather start mu4e.
2023-08-07 23:15:48 +03:00
Dirk-Jan C. Binnema ab96211799 mu4e-mime-parts: use mm-handle-filename
So we get filenames in some cases we were missing
2023-08-06 23:24:12 +03:00
Daniel Fleischer 8b2437fc69
mu4e-draft: changes in to/cc lists creation
- Bug fix.
- Reply-all consistency, related to #2524
2023-08-06 18:44:10 +03:00
Dirk-Jan C. Binnema 7c85b61944 mu4e-server: enable mu4e-mu-allow-temp-file optimization
Add a new configuration variable mu4e-mu-allow-temp-file, t by default,
which triggers the same optimization in the mu server.

It improves message rendering speed:

I.e. without:
  [mu4e] Found 500 matching messages; 0 hidden; search: 1298.0 ms (2.60 ms/msg); render: 642.1 ms (1.28 ms/msg)
with:
  [mu4e] Found 500 matching messages; 0 hidden; search: 1152.7 ms (2.31 ms/msg); render: 270.1 ms (0.54 ms/msg)

As a useful side-effect, this also:
Fixes #1802.
2023-08-04 00:09:02 +03:00
Dirk-Jan C. Binnema 0ace413f80 mu4e-headers: don't auto-update header with message open
Avoid removing a message that's potentially being looked at.

Fixes #1055
Fixes #1981
2023-08-04 00:08:30 +03:00
Dirk-Jan C. Binnema 890fc46da9 mu4e-update: save last update results in *mu4e-last-update*
This can be useful for diagnosis.

Fixes #2455
2023-08-03 19:48:49 +03:00
Dirk-Jan C. Binnema 2f98dacade mu4e/mu4e.texi: fix external links in html
Fixes #2182.
2023-08-03 19:48:49 +03:00
Dirk-Jan C. Binnema c9b64a0114 mu4e-compose: jit-start mu4e in mu4e-compose
Just in case it wasn't running yet.

Fixes #2526
2023-07-28 19:35:39 +03:00
Dirk-Jan C. Binnema 224bbfe5cc
Merge pull request #2521 from mssdvd/add-default-notification-action
mu4e-notifications: add default action
2023-07-18 19:06:33 +03:00
Dirk-Jan C. Binnema 535ab6e010 mu4e-view: avoid getting gnus markers in m-v-message-text
We don't need that here (when replying to email).
2023-07-18 18:31:48 +03:00
Davide Masserut 7cc4804d47 mu4e-notifications: add default action 2023-07-18 12:18:54 +02:00
Dirk-Jan C. Binnema 56cea76b8d mu4e-view: don't set gnus-article-emulate-mime by default
This triggers excessive CPU-load in some corner-case messages.

Make it a 'massage' option instead.

Fixes #2515.
2023-07-17 21:53:42 +03:00
Dirk-Jan C. Binnema c263e4c4d7 mu4e-view: fix mu4e-view-refresh
It's didn't quite work in the post-mu4e-window world
2023-07-17 21:53:42 +03:00
Dirk-Jan C. Binnema c19c011b0b mu4e/NEWS.org: document updated MIME-part handling in view 2023-07-17 21:53:42 +03:00
Dirk-Jan C. Binnema 993f16522a mu4e: split off mime-handling from mu4e-view & improve
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.
2023-07-17 21:53:42 +03:00
Dirk-Jan C. Binnema 3b93863f15 mu4e: use mu4e-determine-attachment-dir
Make the old internal mu4e~get-attachment-dir a public function,
improve documentation. Update callers.
2023-07-16 13:19:35 +03:00
Dirk-Jan C. Binnema c59d493296 mu4e: fix mu4e-main-quit-or-bury
Typo... fixes #2512.
2023-07-06 11:01:32 +03:00
Dirk-Jan C. Binnema c3a756a207 mu4e: main: add mu4e-main-quit-or-bury
So instead of quitting, you can do C-u q to merely bury the buffer.
2023-07-05 20:39:47 +03:00
Dirk-Jan C. Binnema 60b1a5dff7 mu4e/search: clarify sortable fields (threading)
When threads are enabled, only sorting by date is possible; make this
clearer in the UI.

Fixes #2507.
2023-07-02 10:26:09 +03:00
Dirk-Jan C. Binnema 73f0691662 mu4e-view: restore point in single-window headers buffer
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).
2023-06-25 11:07:45 +03:00
Sean Farley 91464002b8 mu4e-util: allow ESC to exit a choice selection
I occasionally find myself pressing escape to exit a menu choice in mu4e
and it's a bit unfortunate that nothing happens. As best I could tell,
since this is a C call, none of the keymaps are checked for
`(keyboard-quit)' so we need to explicitly check for ESC here

This was previously fixed in 02b5bc805c
but was inadvertently removed in
0354fa4fac, so more detail was added to
the comment.
2023-06-22 13:17:53 -07:00
Dirk-Jan C. Binnema 713bb4e9e1 mu4e: run mu4e-view-rendered-hook non-read-only
Non-read-only is likely the expected behavior.

Fixes #2500.
2023-06-09 00:30:01 +03:00
Dirk-Jan C. Binnema 616282c4ad mu4e: add mu4e-listp for backward compat
The listp function was only added to emacs 29.

Fixes #2499.
2023-06-08 18:51:22 +03:00
Dirk-Jan C. Binnema 3624fdd5f3 mu4e: fix documentation for adding custom marks 2023-06-04 14:56:40 +03:00
Dirk-Jan C. Binnema 00fbcfb39f
Merge pull request #2489 from RuijieYu/fix-type-mu4e-compose-complete-max
* mu4e/mu4e-contacts.el (mu4e-compose-complete-max): fix type
2023-05-29 23:51:58 +03:00
stardiviner 9729e2bba8 Fix asking maildir reading completing candidate is text-property
Some packages like `vertico-prescient` adding text-property to vertico
candidates will break `mu4e-ask-maildir` response.
2023-05-27 07:51:37 +08:00