The current notmuch-show-message-adjust logic only adjusts the buffer focused in the current window. Extend it to adjust any kind of buffer, even buffers in a window without focus or in a different frame or even not shown at all. This new logic is very useful to build upon for the auto-refresh all buffers feature because you can use similar code to refresh any buffer: (with-current-buffer "*random show buffer*" (notmuch-refresh-this-buffer)) Signed-off-by: Ioan-Adrian Ratiu <adi@adirat.com> --- emacs/notmuch-show.el | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index 6d3149b..74818cc 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -1505,7 +1505,16 @@ All currently available key bindings: (goto-char (notmuch-show-message-bottom))) (defun notmuch-show-message-adjust () - (recenter 0)) + (let ((buffer-window (get-buffer-window (current-buffer) t)) + (msg-position (point))) + (if buffer-window + (with-selected-window buffer-window + (goto-char msg-position) + (recenter 0)) + (save-window-excursion + (select-window (display-buffer (current-buffer))) + (goto-char msg-position) + (recenter 0))))) ;; Movement related functions. -- 2.9.3