[PATCH] emacs: add a filter option to show

Mark Walters markwalters1009 at gmail.com
Tue Apr 24 16:17:01 PDT 2012

Show the current thread with a different filter (i.e., open messages
in the thread matching the new query).

Currently bound to 'F'.

Note that it is not the same as filter in search as it replaces the
existing query rather than ANDing with it (but it does keep the
threadid part of the query).

I think filtering (i.e. refining current query) is not ideal as one
might want to remove some aspects of the query. Hence this patch
replaces the query-context. 

Note does not fully work with excludes pending
id:"1331836090-30560-1-git-send-email-markwalters1009 at gmail.com"

Best wishes


 emacs/notmuch-show.el |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index 30b26d1..4a5b8b1 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -42,6 +42,7 @@
 (declare-function notmuch-search-next-thread "notmuch" nil)
 (declare-function notmuch-search-show-thread "notmuch" nil)
 (declare-function notmuch-update-tags "notmuch" (current-tags tag-changes))
+(declare-function notmuch-read-query "notmuch" (prompt))
 (defcustom notmuch-message-headers '("Subject" "To" "Cc" "Date")
   "Headers that should be shown in a message, in this order.
@@ -1157,6 +1158,7 @@ reset based on the original query."
 	(define-key map "s" 'notmuch-search)
 	(define-key map "m" 'notmuch-mua-new-mail)
 	(define-key map "f" 'notmuch-show-forward-message)
+	(define-key map "F" 'notmuch-show-filter-thread)
 	(define-key map "r" 'notmuch-show-reply-sender)
 	(define-key map "R" 'notmuch-show-reply)
 	(define-key map "|" 'notmuch-show-pipe-message)
@@ -1399,6 +1401,12 @@ current thread."
   "Mark the current message as read."
   (notmuch-show-tag-message "-unread"))
+(defun notmuch-show-filter-thread ()
+  "Show the current thread with a different filter"
+  (interactive)
+  (setq notmuch-show-query-context (notmuch-read-query "Filter thread: "))
+  (notmuch-show-refresh-view t))
 ;; Functions for getting attributes of several messages in the current
 ;; thread.

More information about the notmuch mailing list