1

In my view, Emacs Org-Mode is the best task management tool. Nonetheless, I think it could be improved.

Each time I think of something that I should do, I create a todo in Org-Mode, so I now have almost 400 scheduled or unscheduled todo. I find it quite hard to review so many todo. For example, if I have free time someday, I need to be able to review these ~400 tasks in order to schedule some of them for this day. So I'd like to have some criteria helping me review these tasks, and I'd like the assessment of these criteria to be easily visible.

I thought of 3 criteria (ideally they would be customizable because maybe some other criteria are more useful for other people):

  • Span (how long it would take to finish the task)
  • Nice (is it horrible for me to do the task or very pleasant ▮▮▮▮▮▮)
  • Importance (assesses the negative consequences of not doing the task)

Here is how it could look like in org-agenda:

Unscheduled                                     Span    Nice    Importance
  ToDo:     BACKLOG Income tax declaration      ▮▮▮     ▮       ▮▮▮▮▮▮
  ToDo:     BACKLOG Beautify Emacs              ▮▮▮▮    ▮▮▮▮▮▮  ▮
  ToDo:     BACKLOG Buy Robot vacuum cleaner    ▮▮      ▮▮▮▮▮   ▮▮      
  ToDo:     BACKLOG Make 1h video on DS         ▮▮▮▮▮   ▮▮▮▮    ▮
  ToDo:     BACKLOG Repay Leo                   ▮       ▮▮▮▮▮▮  ▮
  ToDo:     BACKLOG Fix shelves in cellar       ▮▮▮     ▮▮      ▮
  ToDo:     BACKLOG Read Brothers Karamazov     ▮▮▮▮    ▮▮▮▮▮▮  ▮

Here is an example of a legend for the Span criteria:

▮ < 20 mn
▮▮ < 2 h
▮▮▮ < 1 day
▮▮▮▮ < 3 days
▮▮▮▮▮ < 7 days
▮▮▮▮▮▮ > 7 days
5
  • This kind of open-ended discussion question is better for a discussion site, such as Reddit. This site is more for specific Q&A, especially how-to questions.
    – Drew
    Sep 22 at 1:40
  • You can implement all of these as properties. It then becomes "just" a matter of how to display them in the agenda.
    – NickD
    Sep 22 at 2:03
  • I have nothing for your question, but I am pretty sure you want to take a look at Getting Things Done. There is an official site for that, as well as Wikipedia, but I usually like hamberg.no/gtd best as an intro. These kinds of questions ("how to find what to work on next") have kind of been solved in the last decades. ;) Once you have employed that system within your org file, keeping it up to date should be relatively quick and pain free (the system even works with pen&paper...). You'll find many results for "org-mode gtd" or "emacs gtd".
    – AnoE
    Sep 22 at 10:48
  • I already use GDT. Actually, it is because I was looking for a tool able to implement GDT that I discovered and started using Emacs and Org-Mode 10 years ago
    – crocefisso
    Sep 22 at 11:39
  • cheers @crocefisso
    – AnoE
    Sep 22 at 15:19

1 Answer 1

5

Here is something that you can experiment with ....

  1. Do emacs -Q
  2. Copy the below snippet to todo.org
  3. C-x C-f todo.org
  4. Move to the Tasks headline and do C-c C-x C-c Using column view and you will see this

Org Column View 5. If you want an in buffer table, as opposed to table as overlay, move to the line that says #+BEGIN: columnview ... and do C-c C-c. You can then use org-table-... commands on the resulting table to sort the entries the way you want.

#+STARTUP: content

* Tasks
:PROPERTIES:
:ID:       tasks
:SPAN_ALL: ▮ ▮▮ ▮▮▮ ▮▮▮▮ ▮▮▮▮▮
:NICE_ALL: ▮ ▮▮ ▮▮▮ ▮▮▮▮ ▮▮▮▮▮
:IMPORTANCE_ALL: ▮ ▮▮ ▮▮▮ ▮▮▮▮ ▮▮▮▮▮
:COLUMNS: %30ITEM(TASK) %15SPAN(SPAN) %15NICE(NICE) %15IMPORTANCE(IMPORTANCE)
:END:

** TODO Income tax declaration
:PROPERTIES:
:STATE:    BACKLOG
:SPAN:     ▮▮▮
:NICE:     ▮
:IMPORTANCE: ▮▮▮▮▮▮
:END:

** TODO Beautify Emacs
:PROPERTIES:
:STATE:    BACKLOG
:SPAN:     ▮▮▮▮
:NICE:     ▮▮▮▮▮▮
:IMPORTANCE: ▮
:END:

** TODO Buy Robot vacuum cleaner
:PROPERTIES:
:STATE:    BACKLOG
:SPAN:     ▮▮
:NICE:     ▮▮▮▮▮
:IMPORTANCE: ▮▮
:END:

** TODO Make 1h video on DS
:PROPERTIES:
:STATE:    BACKLOG
:SPAN:     ▮▮▮▮▮
:NICE:     ▮▮▮▮
:IMPORTANCE: ▮
:END:

** TODO Repay Leo
:PROPERTIES:
:STATE:    BACKLOG
:SPAN:     ▮
:NICE:     ▮▮▮▮▮▮
:IMPORTANCE: ▮
:END:

** TODO Fix shelves in cellar
:PROPERTIES:
:STATE:    BACKLOG
:SPAN:     ▮▮▮
:NICE:     ▮▮
:IMPORTANCE: ▮
:END:

** TODO Read Brothers Karamazov
:PROPERTIES:
:STATE:    BACKLOG
:SPAN:     ▮▮▮▮
:NICE:     ▮▮▮
:IMPORTANCE: ▮▮▮▮▮
:END:

#+BEGIN: columnview :id tasks 
| TASK                     | SPAN  | NICE   | IMPORTANCE |
|--------------------------+-------+--------+------------|
| Tasks                    |       |        |            |
| Income tax declaration   | ▮▮▮   | ▮      | ▮▮▮▮▮▮     |
| Beautify Emacs           | ▮▮▮▮  | ▮▮▮▮▮▮ | ▮          |
| Buy Robot vacuum cleaner | ▮▮    | ▮▮▮▮▮  | ▮▮         |
| Make 1h video on DS      | ▮▮▮▮▮ | ▮▮▮▮   | ▮          |
| Repay Leo                | ▮     | ▮▮▮▮▮▮ | ▮          |
| Fix shelves in cellar    | ▮▮▮   | ▮▮     | ▮          |
| Read Brothers Karamazov  | ▮▮▮▮  | ▮▮▮    | ▮▮▮▮▮      |
#+END:

# Local Variables:
# coding: utf-8
# End:
11
  • Very interesting, thank you. It made me discover org-set-property (C-c C-x p). Do you think it would be possible to tweak org-set-property, so that when you input 5 as a value, ▮▮▮▮▮is written?
    – crocefisso
    Sep 22 at 8:43
  • Or when you have 5 written, org-agenda / columnview shows ▮▮▮▮▮.
    – crocefisso
    Sep 22 at 8:54
  • 1
    I have updated my previous response a bit ... It now includes _ALL property. Just do a C-c C-x p and then pick the signal level interactively. (It helps if you have any of the completion frameworks like helm, vertico etc installed) See (info "(org) Property Syntax") or Property Syntax (The Org Manual) Sep 22 at 9:20
  • 1
    You can use S-<RIGHT> and S-<LEFT> to increase/decrease the signal levels. Read the manual page I linked to. Sep 22 at 9:27
  • 1
    I have updated my ealier respons with a screenshot of Column View. If you are in Column View, you can press 3 and get the property updated. I want to get you excited. So I encourgage you to read the manual and experiment more. For example, if you do M-x customize-group org-properties, I see stuff like Org Columns Default Format For Agenda . There is also a summary type (which is a derived value of a property). Yes, my gut feeling suggests that what you hope to do is possible without writing elisp or with minimal elisp. Good luck. Sep 22 at 9:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.