Commit Graph

75 Commits

Author SHA1 Message Date
102dfa1bd4 mu4e: silence emacs header cookie complaints
Update header-cookies to avoid emacs cookie complaints.

Fixes #2841
2025-04-13 19:24:50 +03:00
8145df4ab3 Use named function, not lambda, for refresh timer
This change turns the mu4e refresh timer into a named function, making
M-x list-timers output display a name having to do with mu4e instead
of an inscrutable "anonymous lambda" line.
2025-02-22 15:02:09 -05:00
9b741eb6f0 mu4e: use mu4e--started for per-mu4e-run setup
There's mu4e--initialized which needs to run once per emacs session,
but we also  have some setup to do for each "run" (mu4e --> mu4e-quit).
For the latter, we use mu4e--started.

Fixes #2818.
2025-02-22 11:18:36 +02:00
7f76c69879 mu4e: auto start mu4e when sending command
Start mu4e if not already; with the transient menus it's easier possible
to try to do things with mu4e before it is started, so handle that
automatically.
2025-01-26 18:56:38 +02:00
9fdfd61a3c mu4e.el: cosmetics 2025-01-26 18:56:38 +02:00
c58eacc0d5 mu4e: whitespace / typo fixes 2024-08-19 22:13:02 +03:00
5bd439271d store-worker: temporarily revert
Of course, after merging some problems come up.
Let's fix those first.

This reverts commit f2f01595a5.
2024-06-05 12:21:24 +03:00
525d110f7c mu4e: improve update data
Update doccount after indexing.
2024-06-03 21:01:17 +03:00
7c22e95b5e mu4e: mark mu4e-sent-func as obsolete
mu4e-sent-func was used internally (triggered by mu-server), but is no
longer in use, so let's remove it and mark as obsolete.

Obsolete its callers as well.
2024-06-01 17:30:16 +03:00
1999d9e6ef compose: remove server-side handling
It's no longer needed: composition happens on the mu4e side only (until
a message is saved).
2023-12-29 23:23:13 +02:00
17ea8bd613 mu4e: fix background mu4e
Fixes #2593.
2023-11-12 23:29:51 +02:00
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
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
8fc13ab8f3 mu4e: Shorten descriptions a bit 2023-09-20 22:31:19 +03:00
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
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
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
7610e86e97 mu4e: move some defcustoms to mu4e-vars.el 2023-01-31 19:50:07 +02:00
0ee86ac923 mu4e: make eldoc support configurable
Add new defcustom, mu4e-eldoc-support, turn it off by default.
2023-01-31 19:50:07 +02:00
29e6c21ed8 mu4e: use mu4e-join-paths 2023-01-27 09:25:40 +02:00
7d17b1c15b mu4e: small cleanup in startup 2023-01-24 23:43:55 +02:00
d0d85c9135 mu4e: query-item: tweak baseline handling 2023-01-20 00:14:46 +02:00
74fb72035a mu4e: tweak main-view updating 2023-01-17 18:45:40 +02:00
22b2d44b96 mu4e: tweak query-items refreshing
Try to make it a bit less confusing. The baseline becomes a bit more
implicit, and a `g` in the main view refreshes / resets.
2023-01-16 13:15:40 +02:00
08cb28da8c mu4e: implement optional desktop notifications 2023-01-16 11:59:13 +02:00
d0e79d9429 mu4e: kill update process when quitting 2023-01-14 00:23:12 +02:00
10041eb2e1 mu4e: implement mu4e-query-items
Implement function / datas structure to conveniently aggregate all
query-related data, for reuse in various places in mu4e...

... to start with the main menu, which gets much simpler. And the
modeline.
2023-01-13 21:56:15 +02:00
5e5a74ed22 mu4e: use caching for modeline items
Avoid excessive (unnecessary) recalculation.
2023-01-08 13:54:47 +02:00
49e094531c mu4e: add support for :favorite bookmark
Show favorite bookmark in main-screen (highlighted)

Add baseline-reset when main screen is shown or when the favority
bookmark is searched.

Some code cleanup
2023-01-07 15:40:30 +02:00
17b7790686 mu4e: handle the new queries command responses 2023-01-07 15:40:30 +02:00
beb2bef8dd mu4e-modeline: refactor modeline support
Move all the modeline code to new mu4e-modeline.el, and update
mu4e-context and mu4e-headers to use it.
2023-01-07 15:40:30 +02:00
8137443b53 mu4e.el: load mu4e-obsolete as the very first. 2023-01-03 23:10:55 +02:00
953bd95246 mu4e: improve interactive check for baseline reset 2023-01-01 15:01:21 +02:00
ba5026e7dc mu4e: support showing 'baseline' query-results
Add the concept of a query results baseline, i.e., the result for
bookmark-queries at some particular point in time. Later, we can compare
the results with the then-current query-results.

Show the delta in the main view. Add mu4e-reset-baseline-query-results
to reset the baseline to 'now'. By default, we automatically reset when
explicitly (interactively) going to the main-view, i.e., M-x mu4e.
2023-01-01 15:01:08 +02:00
1799c69451 mu4e-view: rename mu4e~view -> mu4e--view
Our long-running migration from mu4e~ -> mu4e-- takes another step.
2022-12-24 10:02:21 +02:00
69a17bfcb9 Multiple buffer support and standardised window and buffer handling 2022-11-29 11:33:07 +00:00
68753f9e84 mu4e: move all obsolete aliases to mu4e-obsolete
Unclutter the rest of the code a bit.
2022-08-20 14:24:24 +03:00
f77f8f743e mu4e: load mu4e-view earlier
This avoids some setup/configuration problems for some people.

Fixes #2301
2022-07-17 13:53:34 +03:00
f16224c33a mu4e: don't loop mu4e-update-index when index is empty
Fixes: issue #2240.
2022-06-05 12:08:35 +03:00
a1f0c5e9eb mu4e: fix emacs-29 bytecompiler warnings
Wrong single quotes.
2022-05-28 00:51:08 +03:00
db86e7b5ee mu4e: contacts: use mu4e--contacts-set
We use to have mu4e--contacts-hash, with name mapping to rank; that was
needlessly complicated since most completion engine sort alphabetically, making
the rank totally irrelevant (in practice, it doesn't matter much from the
end-user pov).

Anyway, simplify that part, maintain a set of contacts without any rank (which
what the server delivers now).

Also update the _default_ mu4e-contact-process-function to filter out anything
with 'reply' since it's not very useful for autocompletion.
2022-05-09 22:25:28 +03:00
a4707afe12 mu4e: cleanups and flycheck fixes
- Remove some unused faces
- Fix some flycheck warnings
- Replace some `cl-` functions with `pcase` and `seq`
2022-01-23 14:27:00 +02:00
ef25637128 mu4e: use 'checked' instead of 'processed'
Update to the new name.
2021-11-10 22:32:28 +02:00
5e55ef7c79 mu4e: finalize mu4e-query-rewrite-function migration
There was one left.
2021-10-31 13:02:11 +02:00
6005cf1b6c mu4e: Update mu4e() docstring
Typos.
2021-10-31 11:27:55 +02:00
8ad5fd49c9 mu4e: support batched query results
Support the new batched query results from the mu server; these are much faster
to render (2-3x it seems).

Rearrange the code a bit to avoid byte-compiler warnings.

Obsolete mu4e-header-func, to be replaced by mu4e-headers-append-func.
2021-10-22 08:33:51 +03:00
f3e3cc9ca2 mu4e: always run mu4e-index-updated-hook after index
Fire mu4e-index-updated-hook after any index operations, where anything changed
or not. Add a new variable `mu4e-index-update-status' which can be used to see
what changed (if anything) in the last indexing operation.

Keep mu4e-message-changed-hook in place; it only fires when a message
changed (and when it is update).

Remove the long-obsolete `mu4e-msg-changed-hook'.
2021-10-22 08:33:51 +03:00
ab5d306c85 mu4e/mu4e.el: add mu4e--default-handler
It was missing.
2021-08-30 14:47:45 +03:00
a6514fd683 mu4e-server: rename from mu4e-proc
Rename mu4e-proc.el into mu4e-server.el

Rename mu4e~proc... into mu4e--server...

Update users, too.
2021-08-29 21:40:42 +03:00
9157d9102d mu4e-utils: refactor into mu4e-helpers, separate files
Usurp more of the utils code than can be re-used without further dependencies in
helpers.

Split off specific parts in their own file.

After the helper/utils changes, update the rest of mu4e to take the changes into
account.
2021-08-29 21:40:42 +03:00