emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 811f964 1/2: Add beacon-blink-when-focused and disable it


From: Artur Malabarba
Subject: [elpa] master 811f964 1/2: Add beacon-blink-when-focused and disable it by default
Date: Wed, 21 Oct 2015 10:59:33 +0000

branch: master
commit 811f9645ba6332d646c25dd042010478ff5a579f
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>

    Add beacon-blink-when-focused and disable it by default
    
    Focus-in-hook triggers whenever I hit Alt on Ubuntu, which is a little
    too often to be acceptable.
    Related to #14.
---
 beacon.el |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/beacon.el b/beacon.el
index 800c958..de52875 100644
--- a/beacon.el
+++ b/beacon.el
@@ -5,7 +5,7 @@
 ;; Author: Artur Malabarba <address@hidden>
 ;; URL: https://github.com/Malabarba/beacon
 ;; Keywords: convenience
-;; Version: 0.1.1
+;; Version: 0.2
 ;; Package-Requires: ((seq "1.9"))
 
 ;; This program is free software; you can redistribute it and/or modify
@@ -72,6 +72,13 @@ movement distance (in lines) that triggers a beacon blink."
   "Should the beacon blink when the window changes?"
   :type 'boolean)
 
+(defcustom beacon-blink-when-focused nil
+  "Should the beacon blink when Emacs gains focus?
+Note that, due to a limitation of `focus-in-hook', this might
+trigger false positives on some systems."
+  :type 'boolean
+  :package-version '(beacon . "0.2"))
+
 (defcustom beacon-blink-duration 0.3
   "Time, in seconds, that the blink should last."
   :type 'number)
@@ -334,6 +341,11 @@ unreliable, so just blink immediately."
     (setq beacon--window-scrolled nil)
     (beacon-blink)))
 
+(defun beacon--blink-on-focus ()
+  "Blink if `beacon-blink-when-focused' is non-nil"
+  (when beacon-blink-when-focused
+    (beacon-blink)))
+
 
 ;;; Minor-mode
 (defcustom beacon-lighter
@@ -351,10 +363,10 @@ unreliable, so just blink immediately."
   (if beacon-mode
       (progn
         (add-hook 'window-scroll-functions #'beacon--window-scroll-function)
-        (add-hook 'focus-in-hook #'beacon-blink)
+        (add-hook 'focus-in-hook #'beacon--blink-on-focus)
         (add-hook 'post-command-hook #'beacon--post-command)
         (add-hook 'pre-command-hook #'beacon--vanish))
-    (remove-hook 'focus-in-hook #'beacon-blink)
+    (remove-hook 'focus-in-hook #'beacon--blink-on-focus)
     (remove-hook 'window-scroll-functions #'beacon--window-scroll-function)
     (remove-hook 'post-command-hook #'beacon--post-command)
     (remove-hook 'pre-command-hook #'beacon--vanish)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]