This is a way of trying to make sure notmuch-pick cleans up the split buffer after itself. ---
Currently if the focus gets into the message pane and then the user quits from that pane the display stays split. This is an attempt to fix that. This seems to work but I don't know if there is a better solution. However, I would welcome any feedback on the user experience with this patch applied. Best wishes Mark contrib/notmuch-pick/notmuch-pick.el | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/contrib/notmuch-pick/notmuch-pick.el b/contrib/notmuch-pick/notmuch-pick.el index 043e9e7..79ef319 100644 --- a/contrib/notmuch-pick/notmuch-pick.el +++ b/contrib/notmuch-pick/notmuch-pick.el @@ -160,6 +160,9 @@ (defvar notmuch-pick-message-window nil) (make-variable-buffer-local 'notmuch-pick-message-window) (put 'notmuch-pick-message-window 'permanent-local t) +(defvar notmuch-show-message-window nil) +(make-variable-buffer-local 'notmuch-show-message-window) +(put 'notmuch-show-message-window 'permanent-local t) (defvar notmuch-pick-message-buffer nil) (make-variable-buffer-local 'notmuch-pick-message-buffer-name) (put 'notmuch-pick-message-buffer-name 'permanent-local t) @@ -389,6 +392,16 @@ Does NOT change the database." (notmuch-prettify-subject (notmuch-search-find-subject))) (notmuch-pick-show-match-message-with-wait)) +;;over-ride this function to try and kill off message panes +(defun notmuch-kill-this-buffer () + "Kill the current buffer." + (interactive) + (let ((buffer (current-buffer))) + (when (and (window-live-p notmuch-show-message-window) + (eq (window-buffer notmuch-show-message-window) buffer)) + (delete-window notmuch-show-message-window)) + (kill-buffer buffer))) + (defun notmuch-pick-show-message () "Show the current message (in split-pane)." (interactive) @@ -406,6 +419,10 @@ Does NOT change the database." (let ((notmuch-show-indent-messages-width 0)) (setq current-prefix-arg '(4)) (setq buffer (notmuch-show id nil nil nil)))) + ;; We need the let as notmuch-pick-message-window is buffer local. + (let ((window notmuch-pick-message-window)) + (with-current-buffer buffer + (setq notmuch-show-message-window window))) (notmuch-pick-tag-update-display (list "-unread")) (setq notmuch-pick-message-buffer buffer)))) -- 1.7.9.1 _______________________________________________ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch