[PATCH] notmuch-show: add notmuch-show-auto-mark-read option
Mark Walters
markwalters1009 at gmail.com
Tue Aug 7 08:13:40 PDT 2012
On Mon, 06 Aug 2012, Michal Nazarewicz <mpn at google.com> wrote:
> From: Michal Nazarewicz <mina86 at mina86.com>
>
> Setting `notmuch-show-auto-mark-read' to nil stops notmuch-show from marking
> the message as read (by removing the unread tag). Inteded for people who
> like to mark messages read explicitly.
> ---
> emacs/notmuch-show.el | 16 +++++++++++++---
> 1 files changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index d318430..85a17b1 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -183,6 +183,14 @@ provided with an MLA argument nor `completing-read' input."
> notmuch-show-stash-mlarchive-link-alist))
> :group 'notmuch-show)
>
> +(defcustom notmuch-show-auto-mark-read t
> + "Whether to automatically mark message as read when it is shown. If
> +nil, message needs to be marked as read manually for instance by
> +removing the unread tag."
> + :type 'boolean
> + :group 'notmuch-show)
> +
> +
> (defmacro with-current-notmuch-show-message (&rest body)
> "Evaluate body with current buffer set to the text of current message"
> `(save-excursion
> @@ -1374,9 +1382,11 @@ current thread."
> "Are the headers of the current message visible?"
> (notmuch-show-get-prop :headers-visible))
>
> -(defun notmuch-show-mark-read ()
> - "Mark the current message as read."
> - (notmuch-show-tag-message "-unread"))
> +(defun notmuch-show-mark-read (&optional force)
> + "Mark the current message as read if FORCE or
> +`notmuch-show-auto-mark-read' is non-nil."
> + (when (or force notmuch-show-auto-mark-read)
> + (notmuch-show-tag-message "-unread")))
As an alternative approach would allowing a list of tags (or even tag
changes) to apply when a message is "read" do what you want and be more
flexible? I am thinking of something roughly analogous to
notmuch-message-replied-tags. I can imagine some people would like to
remove the inbox tag automatically for example. (And since we sync with
maildir flags the exact tag name does matter).
I agree with Austin that the current unread marking is a little
weird/unpredictable (eg notmuch-show-next-message marks a message read
even if it is closed) but I don't think fixing that helps your use.
Best wishes
Mark
More information about the notmuch
mailing list