This new notmuch-refresh-all-buffers function calls each buffer's major mode specific refresh function using the generic function notmuch-refresh-this-buffer.
It is very useful because by passing a non-nil arg to the buffer specific refresh functions it refreshes all notmuch buffers in the background and this again is very useful when doing periodic timer-based mail syncing. Signed-off-by: Ioan-Adrian Ratiu <a...@adirat.com> --- emacs/notmuch-lib.el | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index 6618365..4cc2041 100644 --- a/emacs/notmuch-lib.el +++ b/emacs/notmuch-lib.el @@ -428,6 +428,21 @@ in a window on screen, no-display has no effect." (notmuch-poll) (notmuch-refresh-this-buffer)) +(defun notmuch-refresh-all-buffers (&optional no-display) + "Invoke `notmuch-refresh-this-buffer' on all notmuch major-mode buffers. + +If no-display is non-nil all buffers are silently refreshed, i.e. they are +not foregrounded even if not displayed in any window. If no-display is nil +then each buffer's mode-specific refresh function uses its default behaviour." + (let ((buffers (buffer-list))) + (while buffers + (setq buffer (car buffers) + buffers (cdr buffers) + buffer-mode (buffer-local-value 'major-mode buffer)) + (when (string-prefix-p "notmuch" (format "%s" buffer-mode)) + (with-current-buffer buffer + (notmuch-refresh-this-buffer no-display)))))) + (defun notmuch-prettify-subject (subject) ;; This function is used by `notmuch-search-process-filter' which ;; requires that we not disrupt its' matching state. -- 2.9.3 _______________________________________________ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch