From: John Kitchin Date: Fri, 30 Jan 2015 15:02:14 +0000 (-0500) Subject: polish timer logic for mouse messages X-Git-Url: https://git.donarmstrong.com/?p=org-ref.git;a=commitdiff_plain;h=0eb92b3d59feed5c6b40bbd1f9c465f56aa005f3 polish timer logic for mouse messages avoid starting timer more than once. --- 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: