;;; beacon.el --- Highlight the cursor whenever it moves long distances -*- lexical-binding: t; -*-
-;; Copyright (C) 2015 Artur Malabarba
+;; Copyright (C) 2015 Free Software Foundation, Inc.
;; Author: Artur Malabarba <emacs@endlessparentheses.com>
;; URL: https://github.com/Malabarba/beacon
;;; Commentary:
-;; This is a global minor-mode. Turn it on everywhere with
-;; (beacon-mode 1)
+;; This is a global minor-mode. Turn it on everywhere with:
+;; ┌────
+;; │ (beacon-mode 1)
+;; └────
+;;
+;; Whenever the window scrolls or the buffer changes a light will shine on
+;; top of your cursor so you know where it is.
+;;
+;; That’s it.
+;;
+;;
+;; 1 Customizations
+;; ════════════════
+;;
+;; • To customize the appearance of the beacon, configure `beacon-size'
+;; and `beacon-color'.
+;;
+;; • To customize how long it lasts, configure `beacon-blink-duration'
+;; and `beacon-blink-delay'.
+;;
+;; • To customize /when/ it is used at all, configure
+;; `beacon-blink-when-window-scrolls',
+;; `beacon-blink-when-buffer-changes', and
+;; `beacon-blink-when-point-moves'.
;;; Code:
"Blink the beacon at the position of the cursor."
(interactive)
(beacon--vanish)
- (beacon--shine)
- (setq beacon--timer
- (run-at-time beacon-blink-delay
- (/ beacon-blink-duration 1.0 beacon-size)
- #'beacon--dec)))
+ (unless (window-minibuffer-p)
+ (beacon--shine)
+ (setq beacon--timer
+ (run-at-time beacon-blink-delay
+ (/ beacon-blink-duration 1.0 beacon-size)
+ #'beacon--dec))))
\f
;;; Movement detection
((not (equal (marker-buffer beacon--previous-place)
(current-buffer)))
(when beacon-blink-when-buffer-changes
- (unless (window-minibuffer-p)
- (beacon-blink))))
+ (beacon-blink)))
;; Blink for scrolling.
((and beacon-blink-when-window-scrolls
beacon--window-scrolled