From 0eb92b3d59feed5c6b40bbd1f9c465f56aa005f3 Mon Sep 17 00:00:00 2001 From: John Kitchin Date: Fri, 30 Jan 2015 10:02:14 -0500 Subject: [PATCH 1/1] polish timer logic for mouse messages avoid starting timer more than once. --- org-ref.org | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/org-ref.org b/org-ref.org index b232f52..b419e08 100644 --- a/org-ref.org +++ b/org-ref.org @@ -335,20 +335,31 @@ The basic idea here is to get the mouse position, and if we can determine there (goto-char p) (org-ref-link-message)))))) + +(defvar org-ref-message-timer-mouse nil + "Store mouse timer.") + + (defvar org-ref-mouse-message-interval 0.5 "How often to run the mouse message timer in seconds") + (defun org-ref-mouse-messages-on () "Turn on mouse messages." (interactive) - (setq org-ref-message-timer-mouse - (run-at-time "0.5 sec" org-ref-mouse-message-interval 'org-ref-mouse-message))) + (or org-ref-message-timer-mouse + (setq org-ref-message-timer-mouse + (run-at-time "0.5 sec" + org-ref-mouse-message-interval + 'org-ref-mouse-message)))) (defun org-ref-mouse-messages-off () "Turn off mouse messages" (interactive) - (cancel-timer org-ref-message-timer-mouse)) + (cancel-timer org-ref-message-timer-mouse) + (setq org-ref-message-timer-mouse nil) + (message "Mouse messages are off")) #+END_SRC #+RESULTS: -- 2.39.2