From: Mark Walters <markwalters1009@gmail.com>
Date: Thu, 22 Aug 2013 17:10:23 +0000 (+0100)
Subject: contrib: pick: close window function
X-Git-Tag: 0.17_rc1~182
X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=d3ef0f74cf27cedae595c3d6556792e117d605f8;p=notmuch

contrib: pick: close window function
---

diff --git a/contrib/notmuch-pick/notmuch-pick.el b/contrib/notmuch-pick/notmuch-pick.el
index 3b1f85c1..6d73269e 100644
--- a/contrib/notmuch-pick/notmuch-pick.el
+++ b/contrib/notmuch-pick/notmuch-pick.el
@@ -208,6 +208,18 @@ This function does not give an error if there is no button."
   (let ((button (or button (button-at (point)))))
     (when button (button-activate button))))
 
+(defun notmuch-pick-close-message-pane-and (func)
+  "Close message pane and execute FUNC.
+
+This function returns a function (so can be used as a keybinding)
+which closes the message pane if open and then executes function
+FUNC."
+  `(lambda ()
+      ,(concat "(Close message pane and) " (documentation func t))
+     (interactive)
+     (notmuch-pick-close-message-window)
+     (call-interactively #',func)))
+
 (defvar notmuch-pick-mode-map
   (let ((map (make-sparse-keymap)))
     (define-key map [mouse-1] 'notmuch-pick-show-message)