From: Bob Newell <bobnewell@bobnewell.net>
To: Org-mode mailing list <emacs-orgmode@gnu.org>
Subject: Re: Dr Wozniak’s tasklist implementation
Date: Wed, 01 Feb 2017 14:52:17 -1000 [thread overview]
Message-ID: <87r33hza66.fsf@bobnewell.net> (raw)
In-Reply-To: <CADoYgq-sDC_aFHaqD2durNMtG8MT4XpVp2Hpzbe75JH=ESpYmQ@mail.gmail.com> (Bob Newell's message of "Sun, 29 Jan 2017 12:19:49 -1000")
Aloha kakou,
I started to find the above idea pretty interesting, and so I did a
small proof of concept coding to implement it. (Certainly this could be
done a lot better but I just wanted to try it out.)
I'm going to work with the idea for a little while to see how well it
helps in sorting through tasks.
Bob Newell
Honolulu, Hawai`i
* Sent via Ma Gnus 0.14-Emacs 24.3-Linux Mint 17.3 *
----
;; Implement supermemo style task list processing via org-mode tables.
;; Usage: M-x org-tasklist-add and follow the prompts. If you use it a
;; lot, tie it to a function key or something fast and useful.
;; The task table file, tasks.org, goes to the org default directory,
;; and is created if it doesn't yet exist.
;; Tasks have an input value (in any units you like), time (in any
;; units you like) and a description. Priority is then calculated as
;; value/time and the table is sorted from highest value at top to
;; lowest value at bottom.
;; This is /not/ integrated with the org-mode agenda. That is keeping
;; with the philsophy explained by Dr. Wozniak, that tasks with
;; time-constraints should be avoided if possible and scheduled
;; separately when they cannot be avoided. (This seems like a fair
;; amount of wishful thinking.) But in any case, high-priority or
;; high-value items can be manually added to the agenda if so
;; desired. (I don't yet have an automated function for this.)
;; I think the task table could contain many items, none of them (yet)
;; urgent. It may be a way of prioritizing future work (chosing the
;; most valuable work), which later gets projectized (perhaps) and
;; scheduled. What the table can surely do, which I think is of much
;; merit, is screen out low value projects and tasks that simply
;; aren't worth doing, either on their own merit or compared with
;; higher payback items.
(defun org-tasklist-sort ()
"Sort org tasklist"
(interactive)
(goto-char (point-min))
(search-forward "#+TBLNAME: org-tasklist" nil 2)
(forward-line 3)
(forward-char 2)
(org-table-sort-lines nil ?N)
)
(defun org-tasklist-add (value hours description)
"Add a task to tasklist"
(interactive "nValue: \nnTime: \nsDescription: ")
(find-file (concat org-directory "tasks.org"))
(goto-char (point-min))
(while (not (search-forward "#+TBLNAME: org-tasklist" nil 2))
(insert "\n#+TBLNAME: org-tasklist\n")
(insert "|Priority|Value|Time|Task Description|\n")
(forward-line -1)
(org-table-insert-hline)
(forward-line 2)
(insert "#+TBLFM: $1=$2/$3\n")
(goto-char (point-min))
)
(forward-line 3)
(insert (format "| | %f | %f | %s |\n" value hours description))
(forward-line -1)
(org-table-align)
(org-table-iterate)
(org-tasklist-sort)
)
--
next prev parent reply other threads:[~2017-02-02 0:52 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-29 15:10 Dr Wozniak’s tasklist implementation Michal Rus
2017-01-29 21:22 ` John Kitchin
2017-01-29 22:19 ` Bob Newell
2017-02-02 0:52 ` Bob Newell [this message]
2017-01-30 7:38 ` Ramon Diaz-Uriarte
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=87r33hza66.fsf@bobnewell.net \
--to=bobnewell@bobnewell.net \
--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.