polishing add function
[org-ref.git] / org-ref.org
index b232f52..44aa74b 100644 (file)
@@ -280,22 +280,28 @@ 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))
+
+
+(when org-ref-show-citation-on-enter
+  (org-ref-show-link-messages))
 
 ;; this approach caused the selected region to not be highlighted any more.
 ; (add-hook 'post-command-hook 'org-ref-link-message))
@@ -335,20 +341,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:
@@ -2528,8 +2545,8 @@ Here is the python script for uploading.
 *************** TODO document how to get the cookies
 *************** END
 
-
-#+BEGIN_SRC python :tangle upload_bibtex_citeulike.py
+# :tangle upload_bibtex_citeulike.py
+#+BEGIN_SRC python
 #!python
 import pickle, requests, sys