Re: [PATCH] notmuch-show: add notmuch-show-auto-mark-read option

Subject: Re: [PATCH] notmuch-show: add notmuch-show-auto-mark-read option

Date: Mon, 6 Aug 2012 12:28:44 -0400

To: Michal Nazarewicz

Cc: notmuch@notmuchmail.org

From: Austin Clements


LGTM, though I wonder: Is this actually what you want, or would you be
happy with automatic read marking if it followed a different pattern
(perhaps a more predictable pattern)?

Quoth Michal Nazarewicz on Aug 06 at  4:20 pm:
> From: Michal Nazarewicz <mina86@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")))
>  
>  ;; Functions for getting attributes of several messages in the current
>  ;; thread.

Thread: