diff --git a/autorevert.el b/autorevert.el index 7b83026..ace010e 100644 --- a/autorevert.el +++ b/autorevert.el @@ -302,6 +302,12 @@ You should set this variable through Custom." :type 'regexp :version "24.4") +(defcustom auto-revert-only-if-visible nil + "If non-nil, suppress Auto-Revert Mode when a buffer isn't visible." + :group 'auto-revert + :type 'boolean + :version "28") + ;; Internal variables: (defvar auto-revert-buffer-list () @@ -686,8 +692,14 @@ This is an internal function used by Auto-Revert Mode." #'buffer-stale--default-function) t)))) eob eoblist) - (setq auto-revert-notify-modified-p nil) - (when revert + (when (and revert + (or (not auto-revert-only-if-visible) + (member buffer + (mapcar 'window-buffer + (get-buffer-window-list + nil nil + (if (display-graphic-p) 'visible (window-normalize-frame nil))))))) + (setq auto-revert-notify-modified-p nil) (when (and auto-revert-verbose (not (eq revert 'fast))) (message "Reverting buffer `%s'." (buffer-name)))