7

Popular todo softwares nowadays usually list tasks with their scheduled due date attached by default so that we can have a general idea about the progress of our different projects. However in org agenda global todo list view (C-c a t) it seems that only the project and priority of the tasks are listed, without any of their timestamps(deadline, scheduled, or just normal timestamp). This makes the view much less useful because looking at tasks without due dates is not very helpful for me to arrange my work.

Default agenda view has dates but it doesn't offer an overview of all tasks, which usually span a long period of time beyond default agenda view timespan.

Is there a way to show timestamps associated with TODOs in global TODO list?

xji
  • 2,545
  • 17
  • 36
  • The best you can achieve with the stock version of `org-mode` is set: `(org-agenda-entry-types '(:scheduled))` or something similar so that `org-agenda-list` pulls up your relevant dates. Absent creating a custom version of `org-mode` related functions and variables, you cannot see the deadline and scheduled timestamps. – lawlist May 13 '15 at 05:48
  • @lawlist You mean configuring "custom agenda commands"? – xji May 13 '15 at 06:40

3 Answers3

9

One way to show extra information in the todo list with the columns view. Activate it with C-c C-x C-c (which runs org-agenda-columns). This gives you a spreadsheet like view where the default columns are given by org-columns-default-format. Adding the string "TIMESTAMP" to this will display any timestamp found in the entry. You can also use "SCHEDULED" or "DEADLINE" to show specific kinds of timestamps. For example:

(setq org-columns-default-format
      "%25ITEM %TODO %3PRIORITY %TIMESTAMP")

shows the item's headline, the todo state, the priority and the timestamp. If you want to show the column view by default, set org-agenda-view-columns-initially to t. If you want this to affect only a single agenda view, add it as a local setting in org-agenda-custom-commands:

(add-to-list 'org-agenda-custom-commands
             '("t" "List of all TODO entries"
               alltodo ""
               ((org-agenda-view-columns-initially t))
               ))

The column format can be set here as well to have different sets of columns for different agendas

Scott Weldon
  • 2,695
  • 1
  • 17
  • 31
erikstokes
  • 12,686
  • 2
  • 34
  • 56
  • 1
    That works. However that also shows column view on all types of agenda views including `C-c a a`, which actually already had timestamp information displayed by default. I would just like to address the issue of `C-c a t` – xji May 15 '15 at 07:28
  • You can add local settings to each agenda view individually. I'll edit an example into my answer. – erikstokes May 15 '15 at 13:38
  • For some reason the code didn't work if I added it directly and Emacs failed to load correctly. I had to invoke `customize` to add the setting. – xji May 15 '15 at 15:24
  • 1
    And it seems that TIMESTAMP, SCHEDULED and DEADLINE are treated distinctly... That is to say if something is a DEADLINE then it won't be shown under TIMESTAMP column. – xji May 15 '15 at 15:24
  • The method mentioned by @carlosfandango doesn't work for some reason and this is the method currently working for me. I'll accept it as the answer. – xji May 16 '15 at 13:19
1

You can modify org-agenda-prefix-format and add eg. %s to the todo tuple.

If none of the built-in format specifiers are sufficient you can use %(my-function-here) as a specifier and my-function-here will be called with the point on each headline in turn, so you can call functions like org-get-scheduled-time and then manipulate the value and return any kind of string you want as the headline prefix.

  • You can even have that extra information available at your fingertips (`(` in my case) so that it mustn't be displayed all the time. See `leuven--org-agenda-show-tasks-détails` in https://github.com/fniessen/emacs-leuven. – fniessen May 14 '15 at 06:35
  • 1
    That seems the functionality to go to. However it seems that adding `%s` and `%t` to the `todo` tuple doesn't show any scheduling information... Here are the screenshots. https://dl.dropboxusercontent.com/u/110904311/Screenshot%202015-05-15%2015.11.50.png https://dl.dropboxusercontent.com/u/110904311/Screenshot%202015-05-15%2015.08.42.png – xji May 15 '15 at 07:10
  • @CarlosFandango Basically `%s` and `%t` are ignored here by orgmode for some reason. – xji May 15 '15 at 15:30
1

Install the org-agenda-property package and add DEADLINE as a property that is shows.

ie, assuming you have MELPA set up, run M-x package-install, enter org-agenda-property, then M-x org-agenda-property-customize and change the Org Agenda Property List to contain DEADLINE instead of location. Save and refresh your agendas!