[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 5622af4 25/34: [#2] Add more options for preventing a blin
From: |
Artur Malabarba |
Subject: |
[elpa] master 5622af4 25/34: [#2] Add more options for preventing a blink |
Date: |
Fri, 16 Oct 2015 09:56:57 +0000 |
branch: master
commit 5622af463cacdeae3ddaf9be7c9decf8723eb675
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>
[#2] Add more options for preventing a blink
---
beacon.el | 34 +++++++++++++++++++++++++++++-----
1 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/beacon.el b/beacon.el
index 76d7652..8e24120 100644
--- a/beacon.el
+++ b/beacon.el
@@ -105,6 +105,23 @@ If it is a string, it is a color name or specification,
e.g. \"#666600\"."
:type '(choice number color))
+(defcustom beacon-dont-blink-predicates nil
+ "A list of predicates that prevent the beacon blink.
+These predicate functions are called in order, with no
+arguments, before blinking the beacon. If any returns
+non-nil, the beacon will not blink."
+ :type 'hook)
+
+(add-hook 'beacon-dont-blink-predicates (lambda () (bound-and-true-p
hl-line-mode)))
+(add-hook 'beacon-dont-blink-predicates #'window-minibuffer-p)
+
+(defcustom beacon-dont-blink-major-modes nil
+ "A list of major-modes where the beacon won't blink.
+Whenever the current buffer satisfies `derived-mode-p' for
+one of the major-modes on this list, the beacon will not
+blink."
+ :type '(repeat symbol))
+
;;; Overlays
(defvar beacon--ovs nil)
@@ -119,10 +136,13 @@ e.g. \"#666600\"."
(defun beacon--ov-put-after-string (overlay colors)
"Add an after-string property to OVERLAY.
The property's value is a string of spaces with background
-COLORS applied to each one."
+COLORS applied to each one.
+If COLORS is nil, OVERLAY is deleted!"
(if (not colors)
- (delete-overlay overlay)
+ (when (overlayp overlay)
+ (delete-overlay overlay))
(overlay-put overlay 'beacon-colors colors)
+ (overlay-put overlay 'priority most-positive-fixnum)
(overlay-put overlay 'after-string
(propertize
(mapconcat (lambda (c) (propertize " " 'face (list
:background c)))
@@ -218,7 +238,9 @@ Only returns `beacon-size' elements."
"Blink the beacon at the position of the cursor."
(interactive)
(beacon--vanish)
- (unless (window-minibuffer-p)
+ (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))
(beacon--shine)
(setq beacon--timer
(run-at-time beacon-blink-delay
@@ -309,9 +331,11 @@ unreliable, so just blink immediately."
(if beacon-mode
(progn
(add-hook 'window-scroll-functions #'beacon--window-scroll-function)
- (add-hook 'post-command-hook #'beacon--post-command))
+ (add-hook 'post-command-hook #'beacon--post-command)
+ (add-hook 'pre-command-hook #'beacon--vanish))
(remove-hook 'window-scroll-functions #'beacon--window-scroll-function)
- (remove-hook 'post-command-hook #'beacon--post-command)))
+ (remove-hook 'post-command-hook #'beacon--post-command)
+ (remove-hook 'pre-command-hook #'beacon--vanish)))
(provide 'beacon)
;;; beacon.el ends here
- [elpa] master 03d12b4 03/34: Rename file, (continued)
- [elpa] master 03d12b4 03/34: Rename file, Artur Malabarba, 2015/10/16
- [elpa] master 8941740 07/34: Fix docs, Artur Malabarba, 2015/10/16
- [elpa] master c82095a 06/34: Add url, Artur Malabarba, 2015/10/16
- [elpa] master 9152a09 08/34: Separate mark-pushing from blinking, Artur Malabarba, 2015/10/16
- [elpa] master b60416c 01/34: First commit, Artur Malabarba, 2015/10/16
- [elpa] master ca3ec24 14/34: Fix temporary line breaks due to too long after-strings, Artur Malabarba, 2015/10/16
- [elpa] master c507480 13/34: Fix after-string overlays, Artur Malabarba, 2015/10/16
- [elpa] master 02112fa 12/34: Fix lighter, Artur Malabarba, 2015/10/16
- [elpa] master f1bb231 20/34: Fix scrolling outside command loop, Artur Malabarba, 2015/10/16
- [elpa] master 0b7041e 22/34: More documentation, Artur Malabarba, 2015/10/16
- [elpa] master 5622af4 25/34: [#2] Add more options for preventing a blink,
Artur Malabarba <=
- [elpa] master 6f647f6 21/34: Only blink selected window, Artur Malabarba, 2015/10/16
- [elpa] master 0036355 23/34: Copyright, Artur Malabarba, 2015/10/16
- [elpa] master bccd3de 33/34: Document contributors, Artur Malabarba, 2015/10/16
- [elpa] master d1f0728 26/34: Extend doc, Artur Malabarba, 2015/10/16
- [elpa] master 4a7079e 17/34: Improve readme, Artur Malabarba, 2015/10/16
- [elpa] master f439a41 27/34: Fix double blink when switching buffer, Artur Malabarba, 2015/10/16
- [elpa] master d66b206 28/34: Refactor overlay creation, Artur Malabarba, 2015/10/16
- [elpa] master b033c63 30/34: Merge pull request #6 from tsdh/master, Artur Malabarba, 2015/10/16
- [elpa] master 7294729 24/34: Don't blink on the minibuffer, Artur Malabarba, 2015/10/16
- [elpa] master 3e1defb 32/34: Don't blink in magit status buffers, Artur Malabarba, 2015/10/16