[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] Re: [org-timer] PATCH add hooks to org-timer.el
From: |
Austin Frank |
Subject: |
[Orgmode] Re: [org-timer] PATCH add hooks to org-timer.el |
Date: |
Sat, 20 Feb 2010 10:02:03 -0500 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/23.1.92 (darwin) |
On Sat, Feb 20 2010, Carsten Dominik wrote:
>> @@ -317,7 +346,10 @@ VALUE can be `on', `off', or `pause'."
>> + (setq org-timer-mode-line-timer
>> + (run-with-timer 1 1 'org-timer-update-mode-
>> line))
>
> Could you please coment on the above section? What exactly is it
> doing and why?
These two lines were left in accidentally. This was my initial attempt
at addressing the issue I brought up in my other post about putting
countdown timers in the mode line. It didn't work and can be removed.
A clean patch is attached.
Thanks,
/au
From ec22f579f9c1fe3169e6103ad05d05658ab90f8e Mon Sep 17 00:00:00 2001
From: Austin F. Frank <address@hidden>
Date: Sat, 20 Feb 2010 09:42:48 -0500
Subject: [PATCH] add hooks to start/stop/pause functions for relative and
countdown timers
---
lisp/org-timer.el | 34 ++++++++++++++++++++++++++++++++--
1 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/lisp/org-timer.el b/lisp/org-timer.el
index ed5a423..9cee0b4 100644
--- a/lisp/org-timer.el
+++ b/lisp/org-timer.el
@@ -48,6 +48,31 @@ the value of the relative timer."
:group 'org-time
:type 'string)
+(defcustom org-timer-start-hook nil
+ "Hook run after relative timer is started."
+ :group 'org-time
+ :type 'hook)
+
+(defvar org-timer-stop-hook nil
+ "Hook run before relative timer is stopped."
+ :group 'org-time
+ :type 'hook)
+
+(defvar org-timer-pause-hook nil
+ "Hook run before relative timer is paused."
+ :group 'org-time
+ :type 'hook)
+
+(defvar org-timer-set-hook nil
+ "Hook run after countdown timer is set."
+ :group 'org-time
+ :type 'hook)
+
+(defvar org-timer-cancel-hook nil
+ "Hook run before countdown timer is canceled."
+ :group 'org-time
+ :type 'hook)
+
;;;###autoload
(defun org-timer-start (&optional offset)
"Set the starting time for the relative timer to now.
@@ -82,7 +107,8 @@ the region 0:00:00."
(org-timer-set-mode-line 'on)
(message "Timer start time set to %s, current value is %s"
(format-time-string "%T" org-timer-start-time)
- (org-timer-secs-to-hms (or delta 0))))))
+ (org-timer-secs-to-hms (or delta 0)))
+ (run-hooks 'org-timer-start-hook))))
(defun org-timer-pause-or-continue (&optional stop)
"Pause or continue the relative timer. With prefix arg, stop it entirely."
@@ -102,6 +128,7 @@ the region 0:00:00."
(org-timer-set-mode-line 'on)
(message "Timer continues at %s" (org-timer-value-string)))
(t
+ (run-hooks 'org-timer-pause-hook)
;; pause timer
(setq org-timer-pause-time (current-time))
(org-timer-set-mode-line 'pause)
@@ -110,6 +137,7 @@ the region 0:00:00."
(defun org-timer-stop ()
"Stop the relative timer."
(interactive)
+ (run-hooks 'org-timer-stop-hook)
(setq org-timer-start-time nil
org-timer-pause-time nil)
(org-timer-set-mode-line 'off))
@@ -264,6 +292,7 @@ VALUE can be `on', `off', or `pause'."
(interactive)
(mapc (lambda(timer)
(when (eval timer)
+ (run-hooks 'org-timer-cancel-hook)
(cancel-timer timer)
(setq timer nil)))
'(org-timer-timer1
@@ -317,7 +346,8 @@ VALUE can be `on', `off', or `pause'."
(setq org-timer-last-timer
(run-with-timer
secs nil 'org-notify (format "%s: time out" hl) t))
- (set timer org-timer-last-timer)))
+ (set timer org-timer-last-timer)
+ (run-hooks 'org-timer-set-hook)))
'(org-timer-timer1
org-timer-timer2
org-timer-timer3)))))
--
1.7.0
--
Austin Frank
http://aufrank.net
GPG Public Key (D7398C2F): http://aufrank.net/personal.asc
pgpyYqXfH19uT.pgp
Description: PGP signature