aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Carl Worth <cworth@cworth.org>2009-11-30 23:21:04 -0800
committerGravatar Carl Worth <cworth@cworth.org>2009-11-30 23:21:04 -0800
commit55559ea409ad8df367f13752430244b7087dcd23 (patch)
treea6bea0911963fda80c74f556cbadc5593099e887
parent7a6394257722c81dd47adefb172c8df2ac898973 (diff)
notmuch.el: Make 'x' and 'X' in show-mode archive the current thread.
This makes these keys different than 'q' in this mode, (where 'x' and 'q' are identical in all of the other modes currently). The idea here is to make it easier to do non-linear reading of messages, (such as when poking in to read just one or two threads from a search result that returned many threads).
-rw-r--r--notmuch.el15
1 files changed, 14 insertions, 1 deletions
diff --git a/notmuch.el b/notmuch.el
index e605d9d2..25096513 100644
--- a/notmuch.el
+++ b/notmuch.el
@@ -55,7 +55,6 @@
(let ((map (make-sparse-keymap)))
(define-key map "?" 'notmuch-help)
(define-key map "q" 'kill-this-buffer)
- (define-key map "x" 'kill-this-buffer)
(define-key map (kbd "C-p") 'notmuch-show-previous-line)
(define-key map (kbd "C-n") 'notmuch-show-next-line)
(define-key map (kbd "M-TAB") 'notmuch-show-previous-button)
@@ -70,6 +69,8 @@
(define-key map "v" 'notmuch-show-view-all-mime-parts)
(define-key map "-" 'notmuch-show-remove-tag)
(define-key map "+" 'notmuch-show-add-tag)
+ (define-key map "X" 'notmuch-show-mark-read-then-archive-then-exit)
+ (define-key map "x" 'notmuch-show-archive-thread-then-exit)
(define-key map "A" 'notmuch-show-mark-read-then-archive-thread)
(define-key map "a" 'notmuch-show-archive-thread)
(define-key map "p" 'notmuch-show-previous-message)
@@ -273,6 +274,18 @@ buffer."
(interactive)
(notmuch-show-archive-thread-maybe-mark-read nil))
+(defun notmuch-show-archive-thread-then-exit ()
+ "Archive each message in thread, then exit back to search results."
+ (interactive)
+ (notmuch-show-archive-thread)
+ (kill-this-buffer))
+
+(defun notmuch-show-mark-read-then-archive-then-exit ()
+ "Remove unread tags from thread, then archive and exit to search results."
+ (interactive)
+ (notmuch-show-mark-read-then-archive-thread)
+ (kill-this-buffer))
+
(defun notmuch-show-view-raw-message ()
"View the raw email of the current message."
(interactive)