org-gtd.el icon indicating copy to clipboard operation
org-gtd.el copied to clipboard

Customised org-todo-keywords

Open slackline opened this issue 3 years ago • 2 comments
trafficstars

Before discovering org-gtd I extended my org-todo-keywords with...

(setq org-todo-keywords
      '((sequence "TODO(t)" "IN-PROGRESS(i@/!)" "BLOCKED(b@)"  "|" "DONE(d!)" "WONT-DO(w@/!)" )
        ))
(setq org-todo-keyword-faces
      '(("TODO" . (:foreground "GoldenRod" :weight bold))
        ("IN-PROGRESS" . (:foreground "Cyan" :weight bold))
        ("BLOCKED" . (:foreground "Red" :weight bold))
        ("DONE" . (:foreground "LimeGreen" :weight bold))
        ("WONT-DO" . (:foreground "DarkViolet" :weight bold))
        ))

org-gtd has its own set NEXT, TODO, WAIT DONE CNCL TRASH but there is now IN-PROGRESS which I find useful to see what I've started but not yet finished (similarly BLOCKED is useful, I guess WONT-DO is equivalent to TRASH).

Is it possible to incorporate such a tag as a user or is this sort of thing deep in the heart of org-gtd and how it manages tasks?

slackline avatar Jun 17 '22 09:06 slackline

Hmm.

This is a bit of a tricky one. I don't have a definite answer, because we need to find the balance between the basic good functioning of the tool and the user's ability to customize as needed.

If you look at org-gtd-files.el you can see that I'm hard-coding the keyword values at the top of the files; and in a few places in the code, org-gtd has to programmatically set / shift the keyword, including in the Project management, to ensure that the next todo item in the project automatically gets set as NEXT.

GTD requests "WAIT" (or some variation thereof) to indicate that no work can happen on that item (delegated or blocked). This means it's hard to let the users provide normal customization (e.g. org-todo-keywords) because they must provide a keyword that org-gtd can use to mark something as delegated.

I currently can't think of a smart way to enable all of this. I think that if you have your own set of keywords that work for you, you can probably edit the headers of the files to add the keywords you need and most things should Just Work :tm: for you.

I'm open to additional thoughts and ideas; this is also the oldest part of the org-gtd package, so in some ways it's got the oldest ideas, too.

Trevoke avatar Jun 17 '22 21:06 Trevoke

Thanks for taking the time to explain things @Trevoke very much appreciated.

I suspected this might not be too easy a thing to implement, I'll have a go at customising the headers for my own use.

I know very little LISP but looking at how things are currently implemented and work might be the motivation I need to correct that.

At a very high level it might be something to setup/configure on initial install, checking the users org-todo-keywords and allowing them to classify behaviour/handling on first run with sensible defaults if nothing is altered, but I've no idea what would be involved in implementing that.

slackline avatar Jun 18 '22 16:06 slackline

Hi @slackline one of the simplest ways to make this work for you would be to actually mark them as "WAIT" -- in the sense that you are waiting on yourself because you've started the work but you haven't finished it.

The one thing I'd mention is that in general, two things are possible, if you have a "WIP" keyword:

  1. GTD is not the right framework for you (things are either not done, not in your hands, or done)
  2. you haven't broken down the task sufficiently into steps that are either not done, not in your hands, or done
  3. like for most of us, there exists for you an emotional attachment to thinking of things a certain way, when instead it would be be better to leave things in the TODO state until they're actually done.

So.. Can you give me one or a few examples of tasks that you would give a WIP keyword to?

Trevoke avatar Jan 08 '23 20:01 Trevoke

Thanks for coming back to this @Trevoke

Its likely a combination of all three that afflict me, although a long time ago resigned myself to the fact that I will always have a long TODO list that will never be clear.

I work as a Research Software Engineer in a University and am funded to work across several projects at any one time (e.g. two projects at 40% FTE). Some tasks I perhaps don't break down into finer grained, smaller tasks, for example making a code base PEP8 compliant could be split into each module, but even with smaller tasks defined this larger task of refactoring remains WIP until its complete. With my time split I sometimes just don't get tasks done in a day.

On a personal level I might have a task in the garden such as building a patio which I did last year. With only some weekends to work on this it took a long time to do. Moving and compacting 3 tons of aggregate takes a while as does mixing cement and laying +80 paving slabs. I just never get any of those tasks done in a single weekend so they remained WIP stretched out over a month or so.

Maybe I'm not using the GTD framework right, but I'm not too concerned about that. I have a system that works, thanks to your package, that allows me to grow my TODO list, log time against tasks as I work through them and sometimes even mark them as DONE. I could perhaps investigate other frameworks but then that would add to my TODO list and with work, family, DIY, personal interests/activities such as improving at Emacs, planning holidays and also spending time away from the computer running, climbing and training for those I don't have enough time in my life so will stick with what's working for me until such time as I feel its defficient.

slackline avatar Jan 09 '23 10:01 slackline

No worries at all!

As long as it works, that's the important bit. I'll start to think about how to manage a "WIP" state.

On Mon, Jan 9, 2023 at 5:37 AM slackline @.***> wrote:

Thanks for cominb back to this @Trevoke https://github.com/Trevoke

Its likely a combination of all three that afflict me, although a long time ago resigned myself to the fact that I will always have a long TODO list that will never be clear.

I work as a Research Software Engineer in a University and am funded to work across several projects at any one time (e.g. two projects at 40% FTE. Some tasks I perhaps don't break down into finer grained, smaller tasks, for example making a code base PEP8 compliant could be split into each module, but even with smaller tasks defined this larger task of refactoring remains WIP until its complete. With my time split I sometimes just don't get tasks done in a day.

On a personal level I might have a task in the garden such as building a patio which I did last year. With only some weekends to work on this it took a long time to do. Moving and compacting 3 tons of aggregate takes a while as does mixing cement and laying +80 paving slabs. I just never get any of those tasks done in a single weekend so they remained WIP stretched out over a month or so.

Maybe I'm not using the GTD framework right, but I'm not too concerned about that. I have a system that works, thanks to your package, that allows me to grow my TODO list, log time against tasks as I work through them and sometimes even mark them as DONE. I could perhaps investigate other frameworks but then that would add to my TODO list and with work, family, DIY, personal interests/activities such as improving at Emacs, planning holidays and also spending time away from the computer running, climbing and training for those I don't have enough time in my life so will stick with what's working for me until such time as I feel its defficient.

— Reply to this email directly, view it on GitHub https://github.com/Trevoke/org-gtd.el/issues/95#issuecomment-1375410112, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAQSSINCDKAKP3FKNQGFBTWRPS7VANCNFSM5ZBXXOBQ . You are receiving this because you were mentioned.Message ID: @.***>

Trevoke avatar Jan 10 '23 16:01 Trevoke