Commit Graph

376 Commits

Author SHA1 Message Date
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 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
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 0ed7dc2102 mu4e: don't error out in mu4e-view-quit
Fixes #2487.
2023-05-10 23:49:10 +03:00
Dirk-Jan C. Binnema fbb68b80ee mu4e: add actions for archive-url in view/headers 2023-05-10 18:52:15 +03:00
Ruijie Yu 3018ceeb86 Add actions to browse online archive for a mailing list message
* mu4e/mu4e-headers.el (defcustom mu4e-header-actions): Convert
from defvar.  Add action for browsing online archive.
* mu4e/mu4e-view.el (defcustom mu4e-view-actions): Change use of
`seq-filter' to `delq'.  Add action for browsing online archive.
2023-05-05 23:10:21 +08:00
Dirk-Jan C. Binnema e2947f181d mu4e: add thread support to message-view
No keybindings yet, since TAB etc. conflict.
2023-04-24 21:52:25 +03:00
Dirk-Jan C. Binnema f2a193b4fd
Merge pull request #2449 from seanfarley/detach-rename
[ux bug] mu4e: create random name for newly detached views
2023-04-05 23:20:00 +03:00
Ruijie Yu e5b33c29d1 Fix defcustom type definitions
So that the type definitions reflects the docstrings more closely.  In additon,
fixed warnings from flymake about docstring.

* mu4e/mu4e-draft.el
mu4e-compose-keep-self-cc: should be a comma

* mu4e/mu4e-folders.el
mu4e-maildir-shortcuts: recognize new (plist) format

* mu4e/mu4e-helpers.el
mu4e-debug: removed unnecessary double space in docstring

* mu4e/mu4e-query-items.el
mu4e-query-rewrite-function: prepend "\\=" before column 0 "(" in docstring

* mu4e/mu4e-search.el
mu4e-search-sort-field mu4e-search-sort-direction: used radio in types

* mu4e/mu4e-server.el
mu4e-mu-binary: "mu" executable must exist

* mu4e/mu4e-view.el
mu4e-view-fields: fixed type
mu4e-view-actions: for function refs, prefer "#'" rather than "'"
2023-04-01 15:59:16 +08:00
Sean Farley ba6c164ac0 mu4e: create random name for newly detached views
Without creating some kind of a temporary name (which could then be
trivially renamed by the user as the current instructions say) a new
user trying to learn how to detach a view will run into this error when
switching to a new message after detaching:

[mu4e] Detached view buffer from *mu4e-headers*
funcall-interactively: No buffer named *mu4e-article*<2>

It seems like a good default and less friction to create a random name
automatically when detaching.
2023-03-31 09:49:26 -07:00
Dirk-Jan C. Binnema 001eb114cb mu4e-view: support gnus message-id links
When clicking the button, find the message in mu4e.

Fixes #2441
2023-03-25 10:35:27 +02:00
Sean Allred 7f2225ccfc Don't die if the headers buffer isn't in a window
If the headers buffer isn't in a live window (e.g., mu4e-split-view
is 'single-window), get-buffer-window will return nil. In turn,
with-selected-window will die if fed a nil window, so default to using the
current window in this case.

This fixes a regression from c23dad7058 that
prevented using n/p from a view buffer.
2023-03-15 02:20:16 -05:00
Dirk-Jan C. Binnema 360cf62ba6 mu4e-view: better error message when we cannot switch text/html
"This is a pseudo article" isn't very helpful.
2023-02-17 16:03:34 +02:00
Dirk-Jan C. Binnema 92ac6de09c mu4e: support jumping to previous/next thread
in headers view, message view with '{' and '}.
Also update documentation.

Fixes #1523
2023-02-12 12:58:05 +02:00
Leo Gaskin d4cb318bc1 Only add bug-reference setup function after the feature was loaded
This is done so that we do not override the default defvar value of
bug-reference-auto-setup-functions but instead add our own hook to it.
2023-02-03 13:32:34 +01:00
Dirk-Jan C. Binnema c23dad7058 mu4e-view: use with-selected-window in mv--in-headers-context
Fixed #1394
2023-01-18 20:32:34 +02:00
Dirk-Jan C. Binnema 72a9ee9d4b mu4e-view: fix misplaced bracket
Fixes #2416.
2023-01-16 22:20:33 +02:00
Dirk-Jan C. Binnema a8d2476f08 mu4e-view: select window when operating in headers context
Fixes #2398
2023-01-14 20:02:05 +02:00
Dirk-Jan C. Binnema b11293147f mu4e: move mu4e~headers-jump-to-maildir to search
... to mu4e-search-maildir.

Where we can, we move appropriate code from the overpopulated
mu4e-headers.el to mu4e-search, and update users.
2023-01-09 22:43:39 +02:00
Dirk-Jan C. Binnema 551bc46b47 mu4e: improve emacs menu-bar items
Fixes issue #2406.
2023-01-09 22:13:24 +02:00
Dirk-Jan C. Binnema 1e018ee1fc mu4e: remove keybindings from mu4e-context-minor-mode
They interfered with the major modes (in particular the undefine hack
needed in mu4e-compose).

Fixes #2402.
2023-01-07 17:13:36 +02:00
Dirk-Jan C. Binnema b1b11eb0cb
Merge pull request #2395 from bjcohen/bjcohen/fix-split-view-single-window-nil
mu4e-view: don't delete window on view msg in single-window mode
2023-01-04 00:26:50 +02:00
Ben Cohen bade0d52fb mu4e-view: don't delete window on view msg in single-window mode 2023-01-02 16:29:36 -05:00
Dirk-Jan C. Binnema b7b97212ce mu4e: move search functionality to mu4e-search
Move out of mu4e-headers; rename variables and callers.
2023-01-01 15:01:08 +02:00
Dirk-Jan C. Binnema 155d7be1d4 mu4e-view: "detach" headers view when quitting in single-window mode
Otherwise the headers view seems to get confused (thinking it is still
showing a message).
2022-12-28 20:59:20 +02:00
Dirk-Jan C. Binnema fe88890419 mu4e-view: update mu4e-view-fields
Remove obsolete fields; update docstring.
2022-12-24 15:28:46 +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
Dirk-Jan C. Binnema 3568e6784a mu4e~view-in-headers-context: don't display buffer
Displaying the buffer doesn't look very nice in single-window mode.
2022-12-19 23:24:40 +02:00
Dirk-Jan C. Binnema fcda5dcc5f mu4e-view: Re-add mu4e-view-quit
Add special handling for single-window/other for view buffer quitting

Fixes #2386.
2022-12-19 23:00:49 +02:00
Dirk-Jan C. Binnema 34815a1961 mu4e: use mu4e-view-rendered-hook
Instead of the older mu4e-after-view-message-hook; update version where
it go obsolete.
2022-12-15 11:52:50 +02:00
Dirk-Jan C. Binnema 83ed407dbc mu4e-view: use kill-buffer-and-window
...for the last remaining mu4e~view-quit-buffer.

Fixes issue #2381
2022-12-15 11:47:12 +02:00
Dirk-Jan C. Binnema 56d8f4cd25 mu4e: rename mu4e-after-view-message-hook into mu4e-view-rendered-hook
For consistency.
2022-12-15 00:05:26 +02:00
Dirk-Jan C. Binnema 00d3e9208d mu4e-view: whitespace fixes 2022-12-15 00:05:11 +02:00
Tassilo Horn cbeed9ef28 bug-reference: Add clarifying comment / checked-headers as variable 2022-12-14 18:34:24 +01:00
Dirk-Jan C. Binnema fdbf912e06 mu4e-view: use kill-buffer-and-window for quitting
That restores the classic mu4e style. I.e.,

With default settings, e.g.

    case 1: - (1)go to inbox -> (2)see headers -> (3)open message ->
    window splits -> (4)read message -> (5)'q' . Window closes and we're
    back to (2). All good!

The more complicated step is

    case 2: (4) read message -> (5) reply to message -> (6) done
    replying -> back to (4) but for some reason when pressing 'q' now,
    the window is not closed, but replaced by the headers window (so we
    have 2 now. [ I think it should behave just like in case 1 ]

This fixes that.
2022-12-13 23:50:38 +02:00
Dirk-Jan C. Binnema 9ae567f5f5 mu4e-view: whitespace cleanup 2022-12-13 23:49:57 +02:00
Dirk-Jan C. Binnema 85f60647b9 mu4e-view: bind 'P' to mu4e-headers-toggle-property
And remove the obsolete older mu4e-headers-toggle-*.
2022-12-11 13:54:57 +02:00
Dirk-Jan C. Binnema ff9fc73e5a mu4e-view: whitespace/newline fixes 2022-12-11 13:31:13 +02:00
Mickey Petersen 8ac172cd08 Resize headers window after displaying a message 2022-12-03 17:13:20 +00:00
Mickey Petersen d43c0030e3 Ensure the linked headers buffer state is not lost 2022-12-03 17:13:20 +00:00
Mickey Petersen 32aefe508f Correct documentation 2022-12-03 17:13:20 +00:00
Mickey Petersen 37e8328975 mu4e-loading-mode is now a minor mode 2022-12-03 17:13:20 +00:00
Mickey Petersen 514b921813 Render with current buffer set to the view 2022-12-01 07:34:22 +00:00
Mickey Petersen 3b44ad9514 Ensure the windows belonging to the now-defunct view buffer are destroyed 2022-11-30 15:33:41 +00:00
Mickey Petersen d6c67a401d Check for detached view in the navigation context macro 2022-11-30 15:33:07 +00:00
Mickey Petersen 69a17bfcb9 Multiple buffer support and standardised window and buffer handling 2022-11-29 11:33:07 +00:00
Aleksei Atavin 0f097e00c6
mu4e: temporary reset browse-url-handlers in view in xwidget action
If `browse-url-handlers` is set `mu4e-action-view-in-xwidget` function
tries to open url in the handler first instead of xwidget. This is
happening because `browse-url` first checks `browse-url-handlers` and
`browse-url-browser-function` after.

Signed-off-by: Aleksei Atavin <axeoman@gmail.com>
2022-10-28 22:52:16 +03:00
Dirk-Jan C. Binnema 7f0497638c
Merge pull request #2329 from seanfarley/smf/save-excursion-html
mu4e-view: use `save-excursion' around toggling html
2022-09-08 07:04:04 +03:00
Sean Farley 243b862776 mu4e-view: use `save-excursion' around toggling html
Previously, the cursor would be moved to the first html attachment which
would break using mu4e keybindings (e.g. delete). With this change, the
cursor isn't moved at all, presumably the expected behavior.
2022-09-03 17:01:41 -05: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