Commit Graph

207 Commits

Author SHA1 Message Date
djcb ae7f649a4a mu4e: avoid error return to same message
This avoids a runtime error. Fix by holtzermann17 for Issue #910.
2016-08-27 18:58:55 +03:00
Jun Hao 35c6d4ab8b mu4e: add mu4e-msg-changed-hook 2016-08-25 10:03:35 +08:00
djcb 49bc9605d8 mu4e: add mu4e-headers-hide-predicate
Add `mu4e-headers-hide-predicate', a function that allows for hiding
messages from the display. This can be used e.g. to hide trashed
messages.
2016-07-31 13:07:27 +03:00
djcb ed16684f45 mu4e: cosmetics 2016-06-08 19:25:52 +03:00
djcb e977309de5 mu4e: don't try to open non-existent messages
When processing header updates, don't try to open a message that doesn't
exist. Fixes issue #825.
2016-06-08 19:22:41 +03:00
djcb 3a7429456c mu4e: parenthesize narrowing term
When narrowing search results, parenthesize the narrowing term, so terms
with AND/OR etc. don't lead to surprising results.

Fixes #846.
2016-05-09 23:14:36 +03:00
Dirk-Jan C. Binnema 455a0731c0 Merge pull request #820 from tmalsburg/master
Mu4e: Added missing menu items.
2016-04-26 20:13:07 +03:00
djcb 1edeee4764 mu4e: fix typo -> mu4e~headers-msgid-target 2016-03-24 20:26:39 +02:00
Titus von der Malsburg 88df34cd96 Mu4e: Added missing menu items. 2016-03-22 23:33:07 -07:00
djcb 15f857afcc mu4e: try to jump to same message after re-search
After a re-search, perhaps after toggling threading etc., try to move
point to the same message it was before
2016-03-16 01:11:11 +02:00
djcb 1505da640d mu4e: add check for add-face-text-property
add-face-text-property was only introduced in emacs 24.4, so check
before use in mu4e-headers as do in mu4e-view.

Fixes issue #811.
2016-03-09 08:02:57 +02:00
djcb 7ac4921902 mu4e: improve mu4e-view-message-with-message-id
Now, when going to a message with certain message-id, do open a headers
buffer as well. This way, message opened this behave just like an other
message, and can be delete, flagged etc.

As a bonus, you get the whole message thread for a given
message (depending on settings)

mu4e-view-message-with-message-id now does a search and
mu4e-headers-search allow for some extra actions to open a specific
message in a hook function.
2016-02-23 23:19:54 +02:00
djcb 392880233f mu4e: rename to mu4e-headers-search-hook
The old name mu4e-headers-search-pre-hook was unnecessarily long.
2016-02-19 07:39:52 +02:00
Ævar Arnfjörð Bjarmason 14af0d28c8 mu4e-headers: Add hook executed when we're opening bookmarks (again)
This was merged in as part of pull request #718 but changed to a more
general facility in 7716e00.

It's fantastic that we have the more general hook facility for any
search, but the primary use-case I had for the bookmark hook can't be
satisfied by the more general mu4e-headers-search-pre-hook.

The reason I added this hook was to emulate the folders I used in
Icedove as mu4e bookmarks. E.g. some folders are threaded, others are
not. By default mu4e only allows you to set this globally via options
like mu4e-headers-show-threads.

So I have a mu4e-headers-search-bookmark-hook which is basically a long
line of cond statements like:

    ((string-equal expr "NOT flag:trashed AND date:365d..now AND (flag:flagged)")
        (setq mu4e-headers-show-threads nil)
        (setq mu4e-headers-include-related nil)
        (setq mu4e-headers-skip-duplicates t)
        (setq mu4e-headers-results-limit 500))

For this to work properly it's critical that the hook doesn't execute on
any search, but *only* those where we enter it via the bookmark.

As an example, I have a "b+" search which finds messages I've flagged,
most of my searches have related & threading turned on, but for that
search I only want to show the specific messages I've flagged, so the
hook turns both of those settings off before executing the search.

But I might still want to change my mind and look at the related
messages as threads by pressing P and then W. This works with the
mu4e-headers-search-bookmark-hook because it only executes when we get
the search via a bookmark.

But it doesn't work with the mu4e-headers-search-pre-hook because when I
toggle the setting my settings hook (which matches the search executed
by the bookmark) will just turn it back off again.

Perhaps there's some clever way to know if we're getting to the
mu4e-headers-search-pre-hook via the bookmark that I've missed. But if
there isn't I need a hook that works like this.
2016-02-18 21:37:21 +01:00
djcb 7716e005bf mu4e: add mu4e-headers-search-pre-hook
Just before executing a search, a hook-function
`mu4e-headers-search-pre-hook` is invoked, which receives the search
expression as its parameter.
2016-02-18 20:59:02 +02:00
djcb eca427d3a2 Merge commit '4f83ab0f9430f0af1e6d3adbfc9a9591dddb8867' into avar/avar/mu4e-headers-search-bookmark-hook 2016-02-18 20:24:29 +02:00
djcb faf453d538 mu4e: resend: add to view/headers menu
Add `mu4e-compose-resend` to the menus in the headers and view
modes. Don't add a shortcut, as it's a fairly rarely needed feature, and
might be confusing if invoked accidentally.
2016-02-16 08:29:06 +02:00
Yuri D'Elia 6337151918 mu4e: also quote the context label in the modeline 2016-02-16 08:28:59 +02:00
Yuri D'Elia ac0b1b755a mu4e: escape % in queries when updating the mode-string 2016-02-14 20:00:43 +01:00
djcb 14cbca7595 mu4e: remove 'z' shortcut for quitting headers view
Make consistent - 'q' is for quitting, not 'z', both in message, headers
view. Single-letter keybindings are precious, so let's avoid duplicates.
2016-02-06 12:48:14 +02:00
djcb 7b84236bdb mu4e: be tolerant of errors in `mu4e~headers-remove-handler'
Works around issue #789
2016-02-05 08:03:29 +02:00
djcb 967b3cb727 mu4e: update copyright years 2016-01-09 21:28:03 +02:00
djcb 972678b6be mu4e: when delete the currently view msg, kill the view
When we delete the message that is currently being viewed, destroy the
view as well.
2015-12-21 22:24:16 +02:00
djcb a14b3f0e62 Replace some 'fancy' characters
They showed up as hexboxes when using the Liberation font.
2015-12-16 21:31:17 +02:00
Clément Pit--Claudel e19658c9aa Initial implementation of customizable headers 2015-12-15 07:57:51 -05:00
Dirk-Jan C. Binnema 5f73b48609 Merge pull request #730 from cpitclaudel/fix-spurious-space
mu4e: Refactor mu4e~headers-header-handler
2015-12-15 09:43:42 +02:00
djcb ddcd2f39b5 mu4e: more support for fancy-chars
Re-simplify `mu4e-use-fancy-chars` to a boolean again; add some extra
mark-chars (big character, so they are easily visible). Document it.
2015-12-15 09:07:17 +02:00
Clément Pit--Claudel 9f104b217b Refactor mu4e~headers-header-handler
Generate the whole line in one call to mapconcat instead of appending to
the string, and remove the spurious final space.
2015-12-15 00:08:34 -05:00
djcb 2d443a953c mu4e: don't use `purecopy`, it's useless
Don't use `purecopy`, it's useless outside emacs itself, as pointed out
by cpitclaudel. Fixes issue #729.
2015-12-15 07:02:24 +02:00
djcb f621003658 mu4e: context: integrate with the views
Show the current context in headers, view and main mode; add
keybindings.
2015-12-13 17:46:02 +02:00
Ævar Arnfjörð Bjarmason 4f83ab0f94 mu4e-headers: Add hook executed when we're opening bookmarks
I'm using this for a rather nasty hack. When I open different bookmarks
in the mu4e-main view I want to set options for them, currently just
tweaking:

    * mu4e-headers-show-threads
    * mu4e-headers-include-related
    * mu4e-headers-skip-duplicates
    * mu4e-headers-results-limit

This is because some of my searches are *really* expensive when I
include related threads (huge batches of cron-generated E-Mails), but
some aren't. I couldn't find another way to do this. Using
mu4e-headers-mode-hook doesn't work, because we don't have access to the
search (just a variable showing the last search).

Also maybe we should be passing the actual key chord for the bookmark
here. I don't care since I look up the search string that'll be executed
and go from there, but maybe that interface would make more sense.

But whatever, this works for me, and solves a real use-case.
2015-12-09 01:51:29 +01:00
Martin Yrjölä d37385030f mu4e: Fetch markpair in interactive declaration
This makes it possible to bind mark shortcuts in view-mode for certain
markpairs.
2015-11-29 16:42:30 +02:00
Ævar Arnfjörð Bjarmason 4cffcfa440 mu4e-{view,headers}: Refactor a (lamba) kbd-bound function into a named function
Because this was a lambda C-h m would just show "??" instead of the
function name, and the documentation would be really confusing since it
showed the deparsed lambda function instead of the function name being
called.

Fix this by refactoring both the view & headers [ and ] functions into
named functions, and make their shared logic new internal
mu4u~{headers,view}-* functions.
2015-11-22 22:32:05 +01:00
djcb cec825eec1 mu4e: fix for split-view
Commit 5708a173fa fixes some behavior for non-split-view, but
inadvertently changed the behavior for split-view as well.

Fix this.
2015-11-21 13:26:56 +02:00
Dirk-Jan C. Binnema 5708a173fa Merge pull request #691 from tmalsburg/master
mu4e: Moving in headers should only change view if mu4e-split-view is non-nil.
2015-11-19 12:48:27 +02:00
Dima Kogan 781f0782f5 mu4e: added action to show the current thread only
Add an action for view and headers buffer to show only the messages in
the current thread.
2015-11-12 12:57:26 +02:00
Titus von der Malsburg bf1325f7c4 mu4e: Moving in headers should only change view if mu4e-split-view is non-nil. 2015-11-11 11:41:14 -08:00
Bar Shirtcliff 22b7022798 mu4e: allow cc, bcc, mailing-list in mu4e-headers-mark-pattern
Based on patch by cinayakoshka, allow for matching more fields
2015-11-02 09:05:42 +02:00
djcb 0956c096de mu4e: don't be too eager to open view
When there's no view yet, don't automatically open one when moving.
2015-10-13 16:16:10 +03:00
djcb a7d611c902 Fix moving when not in split-view mode
Don't insist on having a window (which caused an error), and don't
refuse to move in that case.
2015-10-13 07:39:24 +03:00
Jonas Bernoulli a924985803 Fix issues reported by the byte-compiler. 2015-10-09 01:02:58 +02:00
Daniele Pizzolli db65c824d0 Fix typo from higl.* to highl.* 2015-09-22 10:10:47 +02:00
djcb 90293f6d98 mu4e: show sort arrows for fields / derived fields
We weren't showing the sort-arrows in all cases; we need to get
calculate the current sortfield, compare that to the current sortfield.
2015-09-19 12:11:17 +03:00
Florian Lindner 9780f076f1 Make usage of fancy chars configurable. 2015-09-10 12:32:49 +02:00
djcb 976711c16c mu4e: support message-action when marking 'deferred'
When marking headers as 'deferred' (with '*'), and executing them ('x'),
you can now also apply arbitrary header actions to them.
2015-04-26 17:09:06 +03:00
Tiago Saboga a57228b724 mu4e: avoid error when splitting headers window 2015-03-28 09:07:50 -04:00
djcb 646b06563f mu4e: fix :thread-subject for the non-threaded case 2015-03-23 20:57:29 +02:00
djcb 910e41e2fe mu4e: experimental :thread-subject field (one subject per thread)
with :thread-subject field, we attempt to only show one subject per
thread, somewhat like mutt does it.

the current implementation is straightforward, but does not take into
account whether the thread-subject is currently visible on the screen,
which is a bit tricky to implement
2015-03-22 11:49:57 +02:00
djcb 52176dabfc mu4e: make mu4e-headers-sort-field, mu4e-headers-sort-direction public 2015-03-22 10:57:07 +02:00
Danie Roux 69ef3037a7 Extract mu4e-headers-mark-thread-using-markpair
This allows for a key binding to something like:

(mu4e-headers-mark-thread-using-markpair '(read))
2015-03-17 12:55:17 +02:00
djcb 6722e59e01 Merge branch 'master' of github.com:djcb/mu 2015-01-03 17:14:24 +02:00
djcb af00ff802f mu4e: fix typo in mu4e~headers-query-navigate 2015-01-03 17:12:26 +02:00
djcb 9162e3e68c mu4e: mu4e-headers-find-if-next: move before search
when searching for the next match, go the end of the current line; when
searching for the previous match, go to the beginning of the current
line.
2014-12-10 22:51:13 -08:00
djcb 8991490262 mu4e: support jumping to next, previous unread message
mu4e-headers-next-unread
mu4e-view-headers-next-unread

Use key-bindings ] and [ to go to next, previous unread message.
2014-11-28 08:54:08 +02:00
djcb 1022c64dd9 mu4e: add mu4e-headers-find-if-next, mu4e-headers-next-unread
In the headers-view, allow for movig to next and previous
unread/untrashed messages using tab/backtab.

Built on top of the convenience function mu4e-headers-find-if-next.

Update docstrings.
2014-11-25 07:38:07 +02:00
djcb 8f9499c0c9 mu4e: update mu4e-headers-find-if documentation 2014-11-22 17:27:15 +02:00
djcb 7eac4ac918 mu4e: add mu4e-headers-find-if
This function can be used to jump to some message in the headers list
that matches a certain pattern.
2014-11-22 13:23:29 +02:00
djcb 8305c2e147 mu4e: add note about overly long header lines 2014-10-26 21:21:51 +02:00
Oliver Dunkl ad48860101 Update mu4e-headers.el 2014-10-12 10:38:38 +02:00
Oliver Dunkl ce0006721a Add different face attribute for the mode-line
There is an additional face attribute for the mode-line.
2014-10-02 06:31:10 +02:00
sabof fa819de59b Avoid sorting by nil 2014-05-21 01:08:25 +01:00
djcb 339d6ac562 * mu4e: workaround; limit subject to 600 chars (thanks to Toni Reina); fixes #394. 2014-03-21 07:30:37 +02:00
djcb e55840a917 * mu4e: when erasing buffer, nullify view-message too; fixes #395 2014-03-21 07:22:54 +02:00
sabof 204b09dde3 Try not to move, when executing marks 2014-02-06 02:09:08 +00:00
sabof f51c051084 Verify that mu4e-split-view is used 2014-02-02 23:46:31 +00:00
djcb 9c8101d949 * mu4e: centralize some of the fontification code; cleanup signature support 2013-10-20 15:41:47 +03:00
djcb 8669fd86a7 * mu4e: small improvement in mu4e-headers-found-hook defcustom 2013-10-19 12:06:04 +03:00
djcb e1a6461522 * mu4e: fix typo 2013-10-14 22:51:24 +03:00
djcb feec45a670 * minor 2013-10-14 22:44:28 +03:00
djcb 9abaf83fbd * mu4e: don't balk on searches with no results and some cleanups 2013-10-14 00:07:27 +03:00
djcb 92158cfdd4 * mu4e: add hooks mu4e-headers-found-hook and mu4e-update-pre-hook, document them. 2013-10-13 21:44:47 +03:00
djcb 4b0cb4d1df * mu4e: allow for custom header fields (see `mu4e-header-info-custom') 2013-10-05 10:09:26 -07:00
djcb a23f1a4f7c * mu4e: enable showing the message-id in the view (and even the headers) 2013-09-28 10:36:18 -07:00
djcb def8094b16 * mu4e: make the mu4e-headers-long-date-format default a bit more... default 2013-09-18 09:06:35 +03:00
Sasha Kovar defca5dd41 mu4e: add long datetime tooltip to human-date field in headers view. 2013-09-17 10:55:31 -07:00
djcb 6a098c7be3 * update some comments 2013-08-17 11:54:22 +03:00
djcb 406e310448 * mu4e: prefix thread levels with a single space (rather than two) 2013-07-07 18:52:07 +03:00
djcb da292b7f10 * mu4e: make sure to clear the 'loading' buffer; fixes issue #170 2013-07-06 18:59:30 +03:00
James Felix Black 7e78b6eb65 added a "untrash" function, perfectly analogous to "unflag", that simply removes the T flag from a message 2013-06-28 12:36:54 -07:00
djcb c581468ac3 * mu4e: some minor changes 2013-06-13 23:53:11 +03:00
djcb 60f75eea42 * minor 2013-05-30 06:16:05 -07:00
djcb ab841c594c * mu4e: set overwrite mode to nil in mu4e-headers-mode 2013-05-27 16:37:32 -07:00
djcb 60d835a1af * mu4e-header: fix jumping to maildirs with spaces 2013-05-20 06:00:05 +03:00
djcb aa96833a31 * mu4e: show 'None' as date for (0 0 0) in :human-date 2013-05-20 05:31:49 +03:00
djcb 0bb56e5558 * mu4e: add some more quoting to commands 2013-05-13 23:02:26 +03:00
djcb 4de859668c * cosmetics 2013-05-13 00:05:14 +03:00
djcb 2f60f33dc8 * mu4e: fix header shrinking/growing 2013-05-05 16:18:59 +03:00
djcb 5b8cc54c69 * mu4e: correctly apply 'trashed' face (headers); make face selection a bit more explicit 2013-05-05 12:24:15 +03:00
djcb 33ee611cf5 * mu4e: fix typo 2013-05-04 14:13:05 +03:00
djcb 4d257337e7 * mu4e: add C-c C-u as an alternative keybinding for mu4e-update-mail-and-index (for terminal users) 2013-04-21 12:43:00 +03:00
djcb 9d1c404914 * mu4e: make 'a' the action key; fixes issue #181 2013-04-17 01:31:10 +03:00
Dirk-Jan C. Binnema 90eed15fc7 Merge pull request #180 from abend/master
Customize visible header flags take 2.1
2013-04-02 10:34:47 -07:00
djcb c69f028504 * cosmetic 2013-03-30 11:10:07 +02:00
Titus von der Malsburg 203aeb3093 Fixed bindings of entries in mu4e's header menu. 2013-03-13 11:31:46 +01:00
Sasha Kovar 83c4202e93 mu4e: add custom variable for list of visible header flags - take 2 2013-03-06 15:42:08 -08:00
djcb d39bf269fe * revert "mu4e: add custom variable for list of visible flags to display in headers view"
This reverts commit 9944a4fd62.
2013-02-27 19:09:11 +02:00
Sasha Kovar 9944a4fd62 mu4e: add custom variable for list of visible flags to display in headers view 2013-02-21 11:46:23 -08:00
djcb 9d7648b9bc * mu4e: small doc update 2013-02-11 23:40:49 +02:00
djcb 6522bbca62 * use mu4e-view-show-images, mu4e-headers-mark-custom 2013-01-26 10:57:53 +02:00
djcb 90929f9db8 * mu4e-headers.el: fix typo 2013-01-03 23:08:13 +02:00