]> git.notmuchmail.org Git - notmuch/commitdiff
emacs: add stash thread-id function to notmuch-search mode
authorJameson Rollins <jrollins@finestructure.net>
Sat, 18 Sep 2010 19:48:22 +0000 (15:48 -0400)
committerCarl Worth <cworth@cworth.org>
Fri, 12 Nov 2010 01:28:48 +0000 (17:28 -0800)
This add a "stash-map" for search-mode, just like in show-mode, and
adds one function, bound to "i" to stash the thread-id of the current
selected thread.

Couldn't think of the correct way to stash other thread info, so I
didn't add any other stash functions for now.

emacs/notmuch.el

index 4a9223e4dfa8f1f0e95c76e10219a8f1a1863581..593374758c7139a1120a2281f9c6b87e16db99f5 100644 (file)
@@ -207,6 +207,7 @@ For a mouse binding, return nil."
     (define-key map "m" 'notmuch-mua-mail)
     (define-key map "s" 'notmuch-search)
     (define-key map "o" 'notmuch-search-toggle-order)
+    (define-key map "c" 'notmuch-search-stash-map)
     (define-key map "=" 'notmuch-search-refresh-view)
     (define-key map "G" 'notmuch-search-poll-and-refresh-view)
     (define-key map "t" 'notmuch-search-filter-by-tag)
@@ -221,6 +222,18 @@ For a mouse binding, return nil."
   "Keymap for \"notmuch search\" buffers.")
 (fset 'notmuch-search-mode-map notmuch-search-mode-map)
 
+(defvar notmuch-search-stash-map
+  (let ((map (make-sparse-keymap)))
+    (define-key map "i" 'notmuch-search-stash-thread-id)
+    map)
+  "Submap for stash commands")
+(fset 'notmuch-search-stash-map notmuch-search-stash-map)
+
+(defun notmuch-search-stash-thread-id ()
+  "Copy thread ID of current thread to kill-ring."
+  (interactive)
+  (notmuch-common-do-stash (notmuch-search-find-thread-id)))
+
 (defvar notmuch-search-query-string)
 (defvar notmuch-search-target-thread)
 (defvar notmuch-search-target-line)