From 6c854e4a2531dd14980f8dd2c50e34ef36374038 Mon Sep 17 00:00:00 2001 From: djcb Date: Fri, 15 Jun 2012 11:09:27 +0300 Subject: [PATCH] * mu4e-view: select the headers window after quiting, if it's available --- emacs/mu4e-view.el | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/emacs/mu4e-view.el b/emacs/mu4e-view.el index 30e0832c..aca48516 100644 --- a/emacs/mu4e-view.el +++ b/emacs/mu4e-view.el @@ -1033,12 +1033,12 @@ ensure we don't disturb other windows." (unless (eq major-mode 'mu4e-view-mode) (error "Must be in mu4e-view-mode (%S)" major-mode)) (let ((curbuf (current-buffer)) (curwin (selected-window)) - (headers-visible)) + (headers-win)) (walk-windows (lambda (win) ;; check whether the headers buffer window is visible (when (eq mu4e~view-headers-buffer (window-buffer win)) - (setq headers-visible t)) + (setq headers-win win)) ;; and kill any _other_ (non-selected) window that shows the current ;; buffer (when @@ -1050,13 +1050,16 @@ ensure we don't disturb other windows." ;; now, all *other* windows should be gone. ;; if the headers view is also visible, kill ourselves + window; otherwise ;; switch to the headers view - (if headers-visible - (kill-buffer-and-window) + (when (window-live-p headers-win) + ;; headers are visible + (progn + (kill-buffer-and-window) ;; kill the view win + (select-window headers-win)) ;; and switch to the headers win... ;; headers are not visible... - (kill-buffer) - (when (buffer-live-p mu4e~view-headers-buffer) - (switch-to-buffer mu4e~view-headers-buffer))))) + (progn + (kill-buffer) + (when (buffer-live-p mu4e~view-headers-buffer) + (switch-to-buffer mu4e~view-headers-buffer)))))) - (provide 'mu4e-view) ;; end of mu4e-view