;; Author: Artur Malabarba <emacs@endlessparentheses.com>
;; URL: https://github.com/Malabarba/beacon
;; Keywords: convenience
-;; Version: 1.2
-;; Package-Requires: ((seq "1.11"))
+;; Version: 1.3.1
+;; Package-Requires: ((seq "2.14"))
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
than helpful.."
:type '(repeat symbol))
+(defcustom beacon-before-blink-hook nil
+ "Hook run immediately before blinking the beacon."
+ :type 'hook)
+
\f
;;; Internal variables
(defvar beacon--window-scrolled nil)
(defun beacon--vanish (&rest _)
"Turn off the beacon."
- (when (timerp beacon--timer)
- (cancel-timer beacon--timer))
- (mapc #'delete-overlay beacon--ovs)
- (setq beacon--ovs nil))
+ (unless (string-match "\\` \\*\\(temp-buffer\\|Echo Area.*\\)\\*"
+ (buffer-name))
+ (when (timerp beacon--timer)
+ (cancel-timer beacon--timer))
+ (mapc #'delete-overlay beacon--ovs)
+ (setq beacon--ovs nil)))
\f
;;; Colors
be invoked as a user command or called from lisp code."
(interactive)
(beacon--vanish)
+ (run-hooks 'beacon-before-blink-hook)
(beacon--shine)
(setq beacon--timer
(run-at-time beacon-blink-delay