Dear all, Recently new feature was added - when you set an estimated effort for a task, you can be notified when time is up. (sound is controlled with org-clock-sound variable) I found that pretty often from the beginning I can not correctly estimate what time task will take and I need to give myself an additional time.
To address this issue I wrote couple of functions that helps me with that. What do they do: When you have clocked item and want to add time (increase effort estimate), you call function org-clock-increase-effort-estimate, which will ask you for a time period. It will update update currently clocked item in a buffer as well as a mode line. I hope this might be helpful to someone Kostya defun org-clock-increase-effort-estimate (add-effort) "Add time to the effort estimate. Update Effort property of currently clocked item. Update mode line." (interactive "sHow much to add? (hh:mm or mm)? ") (if (and (org-clock-is-active) org-clock-effort) (let ((add-effort-minutes (org-string-to-minutes add-effort))) (progn (setq org-clock-effort (org-minutes-to-hh:mm-string (+ add-effort-minutes (org-hh:mm-string-to-minutes org-clock-effort)))) (org-clock-update-mode-line) (message "about to increase effort.") (org-clock-set-effort-estimate-in-buffer org-clock-effort) ) )) ) (defun org-clock-set-effort-estimate-in-buffer (effort-string) "Increase effort estimate PROPERTY for the currently clocked item. Jump to the correct buffer, increace the PROPERTY, jump back." (if (org-clock-is-active) (progn (let ((back-mark (point-marker))) (org-clock-goto) (org-set-property "Effort" effort-string) (switch-to-buffer (marker-buffer back-mark)) (goto-char back-mark) (message "Effort was increased.") )))) (defun org-string-to-minutes (string) "Recognizes two formats: 1:30 - converted to minutes 30 - interpreted as minutes." (case (length (split-string string ":")) (2 (org-hh:mm-string-to-minutes string)) (1 (string-to-int string)) ) ) (defun org-clock-is-active () "Return true if clock is currently running. nil otherwise." (if (marker-buffer org-clock-marker) t) ) ;; Suggested bindings (org-defkey org-mode-map "\C-c\C-x\C-e" 'org-clock-increase-effort-estimate) (global-set-key "\C-c\C-x\C-e" 'org-clock-increase-effort-estimate) _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode