notmuch.el: Add TAB and M-TAB buttons to move between buttons.
authorCarl Worth <cworth@cworth.org>
Tue, 24 Nov 2009 03:03:59 +0000 (19:03 -0800)
committerCarl Worth <cworth@cworth.org>
Tue, 24 Nov 2009 03:03:59 +0000 (19:03 -0800)
Thanks to Alexander Botero-Lowry for pointing out the interesting
functions to use here. This functionality was really easy to add.

notmuch.el

index 0cabbe2c3b4d00005234d4a3c7804ff3a690070f..fa6e7de4068a2598eb9997efaa1776a0c45a8f7a 100644 (file)
@@ -82,6 +82,8 @@
     (define-key map " " 'notmuch-show-advance-marking-read-and-archiving)
     (define-key map "|" 'notmuch-show-pipe-message)
     (define-key map "?" 'describe-mode)
+    (define-key map (kbd "TAB") 'notmuch-show-next-button)
+    (define-key map (kbd "M-TAB") 'notmuch-show-previous-button)
     map)
   "Keymap for \"notmuch show\" buffers.")
 (fset 'notmuch-show-mode-map notmuch-show-mode-map)
@@ -479,6 +481,16 @@ which this thread was originally shown."
        (if last
            (notmuch-show-archive-thread))))))
 
+(defun notmuch-show-next-button ()
+  "Advance point to the next button in the buffer."
+  (interactive)
+  (goto-char (button-start (next-button (point)))))
+
+(defun notmuch-show-previous-button ()
+  "Move point back to the previous button in the buffer."
+  (interactive)
+  (goto-char (button-start (previous-button (point)))))
+
 (defun notmuch-toggle-invisible-action (cite-button)
   (let ((invis-spec (button-get button 'invisibility-spec)))
         (if (invisible-p invis-spec)