emacs/notmuch-show.el: Add `notmuch-show-toggle-all' bound to M-RET
authorDavid Edmondson <dme@dme.org>
Thu, 22 Apr 2010 08:24:03 +0000 (09:24 +0100)
committerCarl Worth <cworth@cworth.org>
Sat, 24 Apr 2010 00:24:01 +0000 (17:24 -0700)
`notmuch-show-toggle-all' changes the visibility all of the messages
in the current thread. By default it makes all of the messages
visible. With a prefix argument, it makes them all not visible.

emacs/notmuch-show.el

index 55bab453cb33d8c3cfc41ea6d1b4c9b9a09f7b0c..95874bb26bc1161d7a23dbf8363648aa5a8cb946 100644 (file)
@@ -526,6 +526,7 @@ function is used. "
        (define-key map "p" 'notmuch-show-previous-open-message)
        (define-key map (kbd "DEL") 'notmuch-show-rewind)
        (define-key map " " 'notmuch-show-advance-and-archive)
+       (define-key map (kbd "M-RET") 'notmuch-show-toggle-all)
        (define-key map (kbd "RET") 'notmuch-show-toggle-message)
        map)
       "Keymap for \"notmuch show\" buffers.")
@@ -906,6 +907,18 @@ to stdout or stderr will appear in the *Messages* buffer."
      (not (plist-get props :message-visible))))
   (force-window-update))
 
+(defun notmuch-show-toggle-all ()
+  "Change the visibility all of the messages in the current
+thread. By default make all of the messages visible. With a
+prefix argument, make them all not visible."
+  (interactive)
+  (save-excursion
+    (goto-char (point-min))
+    (loop do (notmuch-show-message-visible (notmuch-show-get-message-properties)
+                                          (not current-prefix-arg))
+         until (not (notmuch-show-goto-message-next))))
+  (force-window-update))
+
 (defun notmuch-show-next-button ()
   "Advance point to the next button in the buffer."
   (interactive)