notmuch.el: Add TAB and M-TAB buttons to move between buttons.

Thanks to Alexander Botero-Lowry for pointing out the interesting
functions to use here. This functionality was really easy to add.
This commit is contained in:
Carl Worth 2009-11-23 19:03:59 -08:00
parent 1e4f5108b5
commit f615803932

View file

@ -82,6 +82,8 @@
(define-key map " " 'notmuch-show-advance-marking-read-and-archiving) (define-key map " " 'notmuch-show-advance-marking-read-and-archiving)
(define-key map "|" 'notmuch-show-pipe-message) (define-key map "|" 'notmuch-show-pipe-message)
(define-key map "?" 'describe-mode) (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) map)
"Keymap for \"notmuch show\" buffers.") "Keymap for \"notmuch show\" buffers.")
(fset 'notmuch-show-mode-map notmuch-show-mode-map) (fset 'notmuch-show-mode-map notmuch-show-mode-map)
@ -479,6 +481,16 @@ which this thread was originally shown."
(if last (if last
(notmuch-show-archive-thread)))))) (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) (defun notmuch-toggle-invisible-action (cite-button)
(let ((invis-spec (button-get button 'invisibility-spec))) (let ((invis-spec (button-get button 'invisibility-spec)))
(if (invisible-p invis-spec) (if (invisible-p invis-spec)