X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/bfecccebb4715c66c6f440151c0fc4f361da00a8..57e2f37d5cde26a6dab938fc5dfe96b41f2b6909:/packages/beacon/beacon.el diff --git a/packages/beacon/beacon.el b/packages/beacon/beacon.el index 290054eb0..feda34b88 100644 --- a/packages/beacon/beacon.el +++ b/packages/beacon/beacon.el @@ -33,28 +33,7 @@ ;; ;; That’s it. ;; -;; -;; 1 Customizations -;; ════════════════ -;; -;; • The appearance of the beacon is configured by `beacon-size' and -;; `beacon-color'. -;; -;; • The duration is configured by `beacon-blink-duration' and -;; `beacon-blink-delay'. -;; -;; • To customize /when/ the beacon should blink at all, configure -;; `beacon-blink-when-window-scrolls', -;; `beacon-blink-when-window-changes', and -;; `beacon-blink-when-point-moves'. -;; -;; • To prevent the beacon from blinking only on some major-modes, -;; configure `beacon-dont-blink-major-modes'. For specific buffers, you -;; can do `(setq-local beacon-mode nil)'. For even more refined -;; control, configure `beacon-dont-blink-predicates' -;; -;; • Beacon can also push the mark for you whenever point moves a long -;; distance. For this, configure `beacon-push-mark'. +;; See the accompanying Readme.org for configuration details. ;;; Code: @@ -134,6 +113,13 @@ one of the major-modes on this list, the beacon will not blink." :type '(repeat symbol)) +(defcustom beacon-dont-blink-commands '(recenter-top-bottom) + "A list of commands that should not make the beacon blink. +Use this for commands that scroll the window in very +predictable ways, when the blink would be more distracting +than helpful.." + :type '(repeat symbol)) + ;;; Overlays (defvar beacon--ovs nil) @@ -259,7 +245,8 @@ Only returns `beacon-size' elements." (beacon--vanish) (unless (or (not beacon-mode) (run-hook-with-args-until-success 'beacon-dont-blink-predicates) - (seq-find #'derived-mode-p beacon-dont-blink-major-modes)) + (seq-find #'derived-mode-p beacon-dont-blink-major-modes) + (memq (or this-command last-command) beacon-dont-blink-commands)) (beacon--shine) (setq beacon--timer (run-at-time beacon-blink-delay