This small patch (be gentle, its my first) adds a new face,org-mode-line-clock-overrun, for the modeline task clock when a task has overrun its allotted Estimate.
I will try to set up the remote repo thing described here http://orgmode.org/worg/org-contribute.php#sec-3 but I'm not 100% sure of what it is I'm supposed to set up there. Should it be a mirror of the master git repo? Comments on elisp ineptitude welcome. Subject: [PATCH] added a new modeline face for tasks which have overrun their effort estimate --- lisp/org-clock.el | 8 +++++--- lisp/org-faces.el | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lisp/org-clock.el b/lisp/org-clock.el index 07f5e81..03df5b6 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -388,6 +388,8 @@ pointing to it." (insert (format "[%c] %-15s %s\n" i cat task)) (cons i marker))))) +(defvar org-task-overrun nil) + (defun org-clock-get-clock-string () "Form a clock-string, that will be show in the mode line. If an effort estimate was defined for current item, use @@ -406,6 +408,7 @@ If not, show simply the clocked time like 01:50." h m org-clock-heading)))) (defun org-clock-update-mode-line () + (if org-clock-effort (org-clock-notify-once-if-expired)) (setq org-mode-line-string (org-propertize (let ((clock-string (org-clock-get-clock-string)) @@ -417,8 +420,7 @@ If not, show simply the clocked time like 01:50." (org-propertize clock-string 'help-echo help-text))) 'local-map org-clock-mode-line-map 'mouse-face (if (featurep 'xemacs) 'highlight 'mode-line-highlight) - 'face 'org-mode-line-clock)) - (if org-clock-effort (org-clock-notify-once-if-expired)) + 'face (if org-task-overrun 'org-mode-line-clock-overrun 'org-mode-line-clock))) (force-mode-line-update)) (defun org-clock-get-clocked-time () @@ -473,7 +475,7 @@ Notification is shown only once." (when (marker-buffer org-clock-marker) (let ((effort-in-minutes (org-hh:mm-string-to-minutes org-clock-effort)) (clocked-time (org-clock-get-clocked-time))) - (if (>= clocked-time effort-in-minutes) + (if (setq org-task-overrun (>= clocked-time effort-in-minutes )) (unless org-clock-notification-was-shown (setq org-clock-notification-was-shown t) (org-notify diff --git a/lisp/org-faces.el b/lisp/org-faces.el index e3294eb..dad2b5e 100644 --- a/lisp/org-faces.el +++ b/lisp/org-faces.el @@ -641,6 +641,8 @@ If it is less than 8, the level-1 face gets re-used for level N+1 etc." (org-copy-face 'modeline 'org-mode-line-clock "Face used for clock display in mode line.") +(org-copy-face 'modeline 'org-mode-line-clock-overrun + "Face used for clock display for overrun tasks in mode line.") (provide 'org-faces) -- 1.6.5 -- Google Talk : rileyrg...@googlemail.com http://www.google.com/talk _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode