Commit Graph

66 Commits

Author SHA1 Message Date
Dirk-Jan C. Binnema 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
Dirk-Jan C. Binnema 17ea8bd613 mu4e: fix background mu4e
Fixes #2593.
2023-11-12 23:29:51 +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 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 8fc13ab8f3 mu4e: Shorten descriptions a bit 2023-09-20 22:31:19 +03: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 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
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 7610e86e97 mu4e: move some defcustoms to mu4e-vars.el 2023-01-31 19:50:07 +02:00
Dirk-Jan C. Binnema 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
Dirk-Jan C. Binnema 29e6c21ed8 mu4e: use mu4e-join-paths 2023-01-27 09:25:40 +02:00
Dirk-Jan C. Binnema 7d17b1c15b mu4e: small cleanup in startup 2023-01-24 23:43:55 +02:00
Dirk-Jan C. Binnema d0d85c9135 mu4e: query-item: tweak baseline handling 2023-01-20 00:14:46 +02:00
Dirk-Jan C. Binnema 74fb72035a mu4e: tweak main-view updating 2023-01-17 18:45:40 +02:00
Dirk-Jan C. Binnema 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
Dirk-Jan C. Binnema 08cb28da8c mu4e: implement optional desktop notifications 2023-01-16 11:59:13 +02:00
Dirk-Jan C. Binnema d0e79d9429 mu4e: kill update process when quitting 2023-01-14 00:23:12 +02:00
Dirk-Jan C. Binnema 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
Dirk-Jan C. Binnema 5e5a74ed22 mu4e: use caching for modeline items
Avoid excessive (unnecessary) recalculation.
2023-01-08 13:54:47 +02:00
Dirk-Jan C. Binnema 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
Dirk-Jan C. Binnema 17b7790686 mu4e: handle the new queries command responses 2023-01-07 15:40:30 +02:00
Dirk-Jan C. Binnema 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
Dirk-Jan C. Binnema 8137443b53 mu4e.el: load mu4e-obsolete as the very first. 2023-01-03 23:10:55 +02:00
Dirk-Jan C. Binnema 953bd95246 mu4e: improve interactive check for baseline reset 2023-01-01 15:01:21 +02:00
Dirk-Jan C. Binnema 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
Dirk-Jan C. Binnema 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
Mickey Petersen 69a17bfcb9 Multiple buffer support and standardised window and buffer handling 2022-11-29 11:33:07 +00:00
Dirk-Jan C. Binnema 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
Dirk-Jan C. Binnema 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
Dirk-Jan C. Binnema f16224c33a mu4e: don't loop mu4e-update-index when index is empty
Fixes: issue #2240.
2022-06-05 12:08:35 +03:00
Dirk-Jan C. Binnema a1f0c5e9eb mu4e: fix emacs-29 bytecompiler warnings
Wrong single quotes.
2022-05-28 00:51:08 +03:00
Dirk-Jan C. Binnema 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
Dirk-Jan C. Binnema 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
Dirk-Jan C. Binnema ef25637128 mu4e: use 'checked' instead of 'processed'
Update to the new name.
2021-11-10 22:32:28 +02:00
Dirk-Jan C. Binnema 5e55ef7c79 mu4e: finalize mu4e-query-rewrite-function migration
There was one left.
2021-10-31 13:02:11 +02:00
Dirk-Jan C. Binnema 6005cf1b6c mu4e: Update mu4e() docstring
Typos.
2021-10-31 11:27:55 +02:00
Dirk-Jan C. Binnema 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
Dirk-Jan C. Binnema 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
Dirk-Jan C. Binnema ab5d306c85 mu4e/mu4e.el: add mu4e--default-handler
It was missing.
2021-08-30 14:47:45 +03:00
Dirk-Jan C. Binnema 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
Dirk-Jan C. Binnema 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
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
Zhu Zihao f239616fb8 mu4e: Delay the execution of workaround for desktop.el
Some Emacs user may never use desktop.el, We don't need to require desktop.el
for them.
2020-06-20 13:45:33 +08:00
Jonas Bernoulli 74332947a0 mu4e: Split libraries into outline sections 2020-02-18 23:49:50 +02:00
Jonas Bernoulli 040c6578be mu4e: Place provide forms in their own sections
Use "_" as the title of that section so that it is less distracting
when sections are collapsed to get an overview of the library.

Using a separate section is useful because it reduces the risk of
accidentally into the middle of a library.
2020-02-18 23:49:50 +02:00
Jonas Bernoulli 6c58a311d1 mu4e: Add missing mandatory "FILE ends here" library footer 2020-02-18 23:49:50 +02:00
Jonas Bernoulli 83f0c9cea9 mu4e: Remove excess semicolons from library headers
Placing two semicolons on an otherwise empty line helps to logically
"connect" the surrounding "paragraphs", which in (only) some cases
makes sense.

Previously the three paragraphs of the permission statement were not
connected to each other like this, which is perfectly fine.  However
the preceding "This file is not part of GNU Emacs." line was connected
to the first paragraph, which does not make sense considering that the
latter is not connected two the second paragraph, which it relates to
more.

Once those two semicolons are gone, it also makes sense to remove
those from the second line.
2020-02-18 23:49:50 +02:00
Jonas Bernoulli 6790c0d015 mu4e: Fix indentation 2020-02-17 14:28:00 +01:00
Dirk-Jan C. Binnema 0bc2e605a4 mu4e: clean up org-handling
Load org support by default, unless mu4e-org-support is set to nil.

Turn off speedbar support by default (set mu4e-speedbar-support to t to
re-enable it).

Move the non-obsolete org stuff to mu4e-org. Rename some things from
org-mu4e to mu4e-org.

Remove org-old-mu4e.el
2019-12-10 18:09:03 +02:00
Thierry Volpiatto e4f5576cfc
Add lexical-binding to all files and fix warnings
about free variables (declare) and unused lexical vars (prefix with "_").
2019-09-16 19:54:59 +02:00