]> code.delx.au - gnu-emacs-elpa/commitdiff
Add beacon-dont-blink-commands
authorArtur Malabarba <bruce.connor.am@gmail.com>
Fri, 16 Oct 2015 20:54:21 +0000 (21:54 +0100)
committerArtur Malabarba <bruce.connor.am@gmail.com>
Fri, 16 Oct 2015 20:54:21 +0000 (21:54 +0100)
Readme.org
beacon.el

index 1f20527f8d6362216e51c111278f39bbc2b51918..50631c8f7505a906c95e327e057621adc2bd48fa 100644 (file)
@@ -25,10 +25,11 @@ That’s it.
   ~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~
+- To prevent the beacon from blinking only on specific situations
+  configure ~beacon-dont-blink-major-modes~,
+  ~beacon-dont-blink-predicates~, or ~beacon-dont-blink-commands~. You
+  can also disable it only in specific buffers by doing
+  ~(setq-local beacon-mode nil)~.
 
 - Beacon can also push the mark for you whenever point moves a long
   distance. For this, configure ~beacon-push-mark~.
index 290054eb083ed3a04a91c8bf9689a2058bcc4159..ab8b469b888deafd1199f39be6ba4ca9e5aebf49 100644 (file)
--- a/beacon.el
+++ b/beacon.el
@@ -134,6 +134,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))
+
 \f
 ;;; Overlays
 (defvar beacon--ovs nil)
@@ -259,7 +266,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