From: Konstantin Antipin <antipin.konstantin@googlemail.com>
To: emacs-orgmode mailing list <emacs-orgmode@gnu.org>
Subject: increase effort estimate on the fly.
Date: Tue, 9 Jun 2009 11:42:43 +0200 [thread overview]
Message-ID: <61176df0906090242we7696ddue5ba825ff96622e5@mail.gmail.com> (raw)
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)
next reply other threads:[~2009-06-09 9:42 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-09 9:42 Konstantin Antipin [this message]
2009-06-17 13:57 ` increase effort estimate on the fly Carsten Dominik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=61176df0906090242we7696ddue5ba825ff96622e5@mail.gmail.com \
--to=antipin.konstantin@googlemail.com \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.