emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* key bindings for quickly setting effort estimates
@ 2009-11-02 13:52 Adam Spiers
  2009-11-03  6:32 ` Carsten Dominik
  0 siblings, 1 reply; 4+ messages in thread
From: Adam Spiers @ 2009-11-02 13:52 UTC (permalink / raw)
  To: org-mode mailing list

I found myself needing a quick way of setting effort estimates outside
column view, and came up with the following:

;; Zero effort is last (10th) element of global Effort_ALL property
;; so that we get zero effort when pressing '0' in the Effort column
;; in Column view, since this invokes `org-set-effort' with arg 0,
;; which stands for the 10th allowed value.
(let ((effort-values
       (org-property-get-allowed-values nil org-effort-property)))
  (dotimes (effort-index 10)
    (let* ((effort (nth effort-index effort-values))
           (key-suffix (number-to-string
                 (if (= effort-index 9) 0 (1+ effort-index))))
           (fn-name (concat "org-set-effort-"
                            (number-to-string effort-index)))
           (fn (intern fn-name)))
      ;; (message "Binding M-o %s to %s which sets effort to %s"
      ;;          key-suffix fn-name effort)
      (fset fn `(lambda ()
                  ,(format "Sets effort to %s." effort)
                  (interactive)
                  (org-set-effort ,(1+ effort-index))))
      (global-set-key (concat "\eo" key-suffix) fn))))

This assumes that Effort_ALL has 9 non-zero effort values, which in my
case is conveniently true:

("0:10" "0:20" "0:30" "1:00" "2:00" "3:00" "4:00" "8:00" "16:00" "0")

Hope this is of interest.

Adam

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-11-03 17:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-02 13:52 key bindings for quickly setting effort estimates Adam Spiers
2009-11-03  6:32 ` Carsten Dominik
2009-11-03 12:33   ` Tim O'Callaghan
2009-11-03 16:51     ` Carsten Dominik

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).