[Vimoutliner] VO-based todo manager: tkdo 0.4

Scott Scriven vimoutliner at toykeeper.net
Fri May 16 16:28:43 EDT 2008


* Poojan Wagh <poojanwagh at gmail.com> wrote:
> Could it export to an ical file that you can subscribe to with 
> a calendar program?

Sure, I don't see why not.  It's not something which had occurred 
to me, but it should be relatively easy to add.

I've added it to the bug tracker:
https://bugs.launchpad.net/tkdo/+bug/231189


* Steve Litt <slitt at troubleshooters.com> wrote:
> Scott -- I just forgot a doctor's appointment. Does tkdo have a 
> way to write on the screen "hey idiot, you have a doctor's 
> appointment at 2:15 today!!!"?

Yeah, though it's still a little less convenient than I'd like.  
Forgive me if I think out loud a bit...  I'm trying to think of 
ways to make this stuff faster/easier.

One way is to edit your task file and add something like...

[_] doctor's appt, 2:15
	; TKDO: D=2008-05-16 at 14:15 I=100 L=1d

My keypresses would be something like...

    vim ~/te<tab>/pe<tab>/tod<tab>
      (vim ~/text/personal/todo.otl)
    <down, pgdn, or other navigation>
    odoctor's appt<esc>
    ,,cb
    o<tab>tkd dtd<bksp*5>14:15 I=100 L=1d<esc>
    :wq

    I count ~75 keypresses, including tab completes and vim 
    aliases and such.  (16+5+15+4+31+4)

Or, using the GUI, you could...

  - move the cursor to a line in the right task file
  - hit 'g'
  - enter "doctor's appt", and make it a task with ',,cb'
  - save/quit
  - highlight the new task
  - change the importance, with 'i100'
  - hit 'd'
    - check 'due date', enter the appt time
    - enter a lead time, if you care
    - click OK, or tab to it and hit space

The keypresses are...

    t     (my shell alias for tkdo)
    /per  (filter for 'personal')
    g
    <down, pgdn, or other navigation>
    odoctor's appt<esc>
    :wq
    /doc
    i100
    l1d
    d<space><tab><tab>14<tab>15
    <tab*8><space>

    I count ~64 keypresses (2+5+1+5+15+4+5+5+4+9+9).

There are several things about that I'd like to improve...  it 
doesn't actually take very long in practice, but it's still more 
complicated than I'd like.

I think these would help:

  - add 'o'/'O' in the GUI, to add a new task just after/before 
    the current task.  This saves a round trip to gvim.  The new 
    task could copy its sibling's attributes too, so it might 
    save some other data entry.
  - bind ctrl-enter (or similar) to 'OK' in all dialogs, to avoid 
    the 8 tab presses in the due date dialog
  - make checkboxes in the due date dialog check themselves when 
    appropriate

These would get it down to ~46 keys.

Handling importance for due tasks a little differently might help 
too.  Currently, it rises from 0 (at beginning of lead time) to N 
(when due), and then continues to rise to N*1.5 (overdue) if not 
completed.

Should it hit N*1.5 when due, instead of overdue?  This means it 
wouldn't be necessary to set a higher importance value to make it 
more visible before it's due.


-- Scott


More information about the VimOutliner mailing list