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. -- 1.7.7.3