X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch.el;h=7e95f95671801e0c2e1c75c47d3bfddd8b792489;hp=e70a1fc58919564576678959f5c1ee39ddafb4a4;hb=322fe4f3fb6a547764715aecb4992f1c77547579;hpb=4812cfb368cddbb4265e6d55d8eb2d6b83fde1fe;ds=inline diff --git a/notmuch.el b/notmuch.el index e70a1fc5..7e95f956 100644 --- a/notmuch.el +++ b/notmuch.el @@ -20,6 +20,7 @@ ; Authors: Carl Worth (require 'cl) +(require 'mm-view) (defvar notmuch-show-mode-map (let ((map (make-sparse-keymap))) @@ -44,6 +45,7 @@ (define-key map "q" 'kill-this-buffer) (define-key map "r" 'notmuch-show-reply) (define-key map "s" 'notmuch-show-toggle-signatures-visible) + (define-key map "v" 'notmuch-show-view-all-mime-parts) (define-key map "w" 'notmuch-show-view-raw-message) (define-key map "x" 'kill-this-buffer) (define-key map "+" 'notmuch-show-add-tag) @@ -223,6 +225,18 @@ buffer." (interactive) (view-file (notmuch-show-get-filename))) +(defun notmuch-show-view-all-mime-parts () + "Use external viewers (according to mailcap) to view all MIME-encoded parts." + (interactive) + (save-excursion + (let ((filename (notmuch-show-get-filename))) + (switch-to-buffer (generate-new-buffer (concat "*notmuch-mime-" + filename + "*"))) + (insert-file-contents filename nil nil nil t) + (mm-display-parts (mm-dissect-buffer)) + (kill-this-buffer)))) + (defun notmuch-show-reply () "Begin composing a reply to the current message in a new buffer." (interactive)