X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch.el;h=a07b248be57b04a76ac71367f619dc54bb0c140f;hp=50e573dde01a070c9232fc7af56847daf2d487f5;hb=2b576c62bed77cf2ce60534ce84e31d3307356f6;hpb=3a330cb84a4f42d0013a772609fd10330a8413b0 diff --git a/notmuch.el b/notmuch.el index 50e573dd..a07b248b 100644 --- a/notmuch.el +++ b/notmuch.el @@ -33,6 +33,7 @@ (define-key map "c" 'notmuch-show-toggle-citations-visible) (define-key map "h" 'notmuch-show-toggle-headers-visible) (define-key map "n" 'notmuch-show-next-message) + (define-key map "N" 'notmuch-show-mark-read-then-next-open-message) (define-key map "p" 'notmuch-show-previous-message) (define-key map (kbd "C-n") 'notmuch-show-next-line) (define-key map (kbd "C-p") 'notmuch-show-previous-line) @@ -44,6 +45,7 @@ (define-key map "-" 'notmuch-show-remove-tag) (define-key map (kbd "DEL") 'notmuch-show-rewind) (define-key map " " 'notmuch-show-advance-marking-read-and-archiving) + (define-key map "|" 'notmuch-show-pipe-message) map) "Keymap for \"notmuch show\" buffers.") (fset 'notmuch-show-mode-map notmuch-show-mode-map) @@ -187,6 +189,15 @@ buffer." (interactive) (view-file (notmuch-show-get-filename))) +(defun notmuch-show-pipe-message (command) + "Pipe the contents of the current message to the given command. + +The given command will be executed with the raw contents of the +current email message as stdin. Anything printed by the command +to stdout or stderr will appear in the *Messages* buffer." + (interactive "sPipe message to command: ") + (apply 'start-process-shell-command "notmuch-pipe-command" "*notmuch-pipe*" (split-string (concat command " < " (notmuch-show-get-filename))))) + (defun notmuch-show-move-to-current-message-summary-line () "Move to the beginning of the one-line summary of the current message. @@ -348,11 +359,10 @@ which this thread was originally shown." (unread (notmuch-show-message-unread-p))) (if (> next (window-end)) (scroll-up nil) - (if unread - (notmuch-show-mark-read-then-next-open-message) - (if (notmuch-show-last-message-p) - (notmuch-show-archive-thread) - (notmuch-show-next-open-message)))))) + (let ((last (notmuch-show-last-message-p))) + (notmuch-show-mark-read-then-next-open-message) + (if last + (notmuch-show-archive-thread)))))) (defun notmuch-show-markup-citations-region (beg end) (goto-char beg)