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

Michal Nazarewicz mpn at google.com
Mon Aug 6 07:20:11 PDT 2012


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")))
 
 ;; Functions for getting attributes of several messages in the current
 ;; thread.
-- 
1.7.7.3



More information about the notmuch mailing list