X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=emacs%2Fnotmuch-crypto.el;h=f4585d5e927bafaa50b5957be6c10bb35c1811e8;hb=cc62d33c07c1f14fbfc0df7464238c35dde8d929;hp=457c821c3d1ff9635b27f25d7f118c8120501445;hpb=50f0cbcc4d78f93776009fd223e6d6b6736ecff9;p=notmuch diff --git a/emacs/notmuch-crypto.el b/emacs/notmuch-crypto.el index 457c821c..f4585d5e 100644 --- a/emacs/notmuch-crypto.el +++ b/emacs/notmuch-crypto.el @@ -48,6 +48,11 @@ mode." :type 'boolean :group 'notmuch-crypto) +(defcustom notmuch-crypto-gpg-program epg-gpg-program + "The gpg executable." + :type 'string + :group 'notmuch-crypto) + (defface notmuch-crypto-part-header '((((class color) (background dark)) @@ -144,14 +149,17 @@ by user FROM." (insert "\n")))) (defun notmuch-crypto-sigstatus-good-callback (button) - (let* ((sigstatus (button-get button :notmuch-sigstatus)) + (let* ((id (notmuch-show-get-message-id)) + (sigstatus (button-get button :notmuch-sigstatus)) (fingerprint (concat "0x" (plist-get sigstatus :fingerprint))) (buffer (get-buffer-create "*notmuch-crypto-gpg-out*")) (window (display-buffer buffer))) (with-selected-window window (with-current-buffer buffer (goto-char (point-max)) - (call-process epg-gpg-program nil t t "--batch" "--no-tty" "--list-keys" fingerprint)) + (insert (format "-- Key %s in message %s:\n" + fingerprint id)) + (call-process notmuch-crypto-gpg-program nil t t "--batch" "--no-tty" "--list-keys" fingerprint)) (recenter -1)))) (declare-function notmuch-show-refresh-view "notmuch-show" (&optional reset-state)) @@ -206,10 +214,14 @@ corresponding key when the status button is pressed." (progn (notmuch-crypto--set-button-label button (format "Retrieving key %s asynchronously..." keyid)) + (with-current-buffer buffer + (goto-char (point-max)) + (insert (format "--- Retrieving key %s:\n" keyid))) (let ((p (make-process :name "notmuch GPG key retrieval" - :buffer buffer - :command (list epg-gpg-program "--recv-keys" keyid) :connection-type 'pipe + :buffer buffer + :stderr buffer + :command (list notmuch-crypto-gpg-program "--recv-keys" keyid) :sentinel #'notmuch-crypto--async-key-sentinel ;; Create the process stopped so that ;; we have time to store the key id, @@ -220,13 +232,15 @@ corresponding key when the status button is pressed." (process-put p :notmuch-show-point (point)) (message "Getting the GPG key %s asynchronously..." keyid) (continue-process p))) + (let ((window (display-buffer buffer))) (with-selected-window window (with-current-buffer buffer (goto-char (point-max)) - (call-process epg-gpg-program nil t t "--recv-keys" keyid) + (insert (format "--- Retrieving key %s:\n" keyid)) + (call-process notmuch-crypto-gpg-program nil t t "--recv-keys" keyid) (insert "\n") - (call-process epg-gpg-program nil t t "--list-keys" keyid)) + (call-process notmuch-crypto-gpg-program nil t t "--list-keys" keyid)) (recenter -1)) (notmuch-show-refresh-view)))))