diff options
| author | Dirk-Jan C. Binnema <djcb@djcbsoftware.nl> | 2023-06-25 11:07:45 +0300 |
|---|---|---|
| committer | Dirk-Jan C. Binnema <djcb@djcbsoftware.nl> | 2023-07-06 07:42:11 +0300 |
| commit | 958c153b87cfe9882c69e49b6fb55d96b7d6aa7f (patch) | |
| tree | 318ed334d69c391bc9ecf81717c5c71a3e5c1638 | |
| parent | 1494df4a48c05085a65429ccc9cebb947ea51950 (diff) | |
mu4e-view: restore point in single-window headers buffer
In single-window mode, after quitting the view, explicitly restore the
point in the headers view to the last viewed message (just like in split
view mode).
| -rw-r--r-- | mu4e/mu4e-view.el | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/mu4e/mu4e-view.el b/mu4e/mu4e-view.el index 133fdf7..468eb7d 100644 --- a/mu4e/mu4e-view.el +++ b/mu4e/mu4e-view.el @@ -872,12 +872,17 @@ This is useful for advising some Gnus-functionality that does not work in mu4e." (ignore-errors ;; try, don't error out. (kill-buffer-and-window)) ;; single-window case - (when mu4e-linked-headers-buffer ;; re-use mu4e-view-detach? - (with-current-buffer mu4e-linked-headers-buffer - (when (eq (selected-window) mu4e~headers-view-win) - (setq mu4e~headers-view-win nil))) - (setq mu4e-linked-headers-buffer nil) - (kill-buffer)))) + (let ((docid (mu4e-field-at-point :docid))) + (when mu4e-linked-headers-buffer ;; re-use mu4e-view-detach? + (with-current-buffer mu4e-linked-headers-buffer + (when (eq (selected-window) mu4e~headers-view-win) + (setq mu4e~headers-view-win nil))) + (setq mu4e-linked-headers-buffer nil) + (kill-buffer) + ;; attempt to move point to just-viewed message. + (when docid + (ignore-errors + (mu4e~headers-goto-docid docid))))))) (defvar mu4e-view-mode-map (let ((map (make-keymap))) |
