Add notmuch-show-hook to allow customization of show windows
authorKeith Packard <keithp@keithp.com>
Tue, 17 Nov 2009 06:06:49 +0000 (22:06 -0800)
committerCarl Worth <cworth@cworth.org>
Wed, 18 Nov 2009 22:29:44 +0000 (23:29 +0100)
I wanted to enable got-address-mode and visual-line-mode in my show
windows to make messages easier to read and URLs easier to
follow. This hook allows the user to run arbitrary code each time a
message is shown.

Signed-off-by: Keith Packard <keithp@keithp.com>
notmuch.el

index ed1b363b95a37edef4866d383058ae38e39a34c7..f4b09e90729c6fd8451ce300bf1d672fdec3e9c9 100644 (file)
@@ -639,6 +639,18 @@ view, (remove the \"inbox\" tag from each), with
        mode-name "notmuch-show")
   (setq buffer-read-only t))
 
+;;;###autoload
+
+(defgroup notmuch nil
+  "Notmuch mail reader for Emacs."
+  :group 'mail)
+
+(defcustom notmuch-show-hook nil
+  "List of functions to call when notmuch displays a message."
+  :type 'hook
+  :options '(goto-address)
+  :group 'notmuch)
+
 (defun notmuch-show (thread-id &optional parent-buffer)
   "Run \"notmuch show\" with the given thread ID and display results.
 
@@ -661,6 +673,7 @@ thread from that buffer can be show when done with this one)."
        (call-process "notmuch" nil t nil "show" thread-id)
        (notmuch-show-markup-messages)
        )
+      (run-hooks 'notmuch-show-hook)
       ; Move straight to the first unread message
       (if (not (notmuch-show-message-unread-p))
          (progn