From cc12e79e8397354596f628a482587bf537469bb9 Mon Sep 17 00:00:00 2001 From: John Kitchin Date: Fri, 30 Jan 2015 10:05:34 -0500 Subject: [PATCH] polish link timer code. avoid starting multiple timers --- org-ref.org | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/org-ref.org b/org-ref.org index b419e08..a266e57 100644 --- a/org-ref.org +++ b/org-ref.org @@ -280,22 +280,29 @@ You can define a new citation link like this: ** Messages for link at cursor Here we setup code that shows you a context message for the element under the cursor when emacs is idle. #+BEGIN_SRC emacs-lisp :tangle org-ref.el +(defvar org-ref-message-timer nil + "Variable to store the link message timer in.") + (when org-ref-show-citation-on-enter (setq org-ref-message-timer (run-with-idle-timer 0.5 t 'org-ref-link-message))) + (defun org-ref-show-link-messages () "Turn on link messages. You will see a message in the minibuffer when on a cite, ref or label link." (interactive) - (setq org-ref-message-timer - (run-with-idle-timer 0.5 t 'org-ref-link-message)) - ) + (or org-ref-message-timer + (setq org-ref-message-timer + (run-with-idle-timer 0.5 t 'org-ref-link-message)))) + + (defun org-ref-cancel-link-messages () "Stop showing messages in minibuffer when on a link." (interactive) - (cancel-timer org-ref-message-timer)) + (cancel-timer org-ref-message-timer) + (setq org-ref-message-timer nil)) ;; this approach caused the selected region to not be highlighted any more. ; (add-hook 'post-command-hook 'org-ref-link-message)) -- 2.39.2