Problem
The default agenda-list-view
separates the todo items of the current week by days and sort them by time within each day if there are timestamps. Instead, I want to combine all the todo items without any timestamps.
Motivation
The power of weekly plan is well known. The default agenda view agenda-list-view
however does not allow one to easily see what has been achieved and what has to be done in the current week, as what a Kanban board would be able to do. There is org-kanban
, but it is not as powerful as what org-agenda
can offer and cannot pick items from the current week.
Example
Given the following Org file stored as file_name.org
* TODO No Timestamp
* TODO Deadline last Sunday
SCHEDULED: <2020-07-04 Sat> DEADLINE: <2020-07-05 Sun>
* NEXT Scheduled for last Sunday
SCHEDULED: <2020-07-05 Sun>
* DONE Scheduled for this Monday
SCHEDULED: <2020-07-06 Mon>
* TODO Scheduled for this Tuesday
SCHEDULED: <2020-07-07 Tue>
* TODO Scheduled for next Monday
SCHEDULED: <2020-07-13 Mon>
Assuming today is <2020-07-08 Wed> I'd like to have an agenda view that only shows the DONE/NEXT/TODO items from the current week, sorted by todo state:
file_name: DONE Scheduled for this Monday
file_name: NEXT Scheduled for last Sunday
file_name: TODO Scheduled for this Tuesday
Details
Note that only items satisfying one of the two conditions are included in the desired agenda view:
- TODO items that are scheduled for previous weeks or for the current week.
- DONE items scheduled for current week.
This implies the following items are excluded:
- DONE items scheduled for a day before the current week.
- Items whose deadlines are before the current week.
- Items scheduled for a day after the current week.
What would be the best way to achieve this? I played around with the custom agenda view using tags-todo
, but couldn't find a way to pick only the todo items from the current week. The closest command I can find for picking the todo items from the current week is something like tags-todo "SCHEDULED>=\"<-7d>\"SCHEDULED<=\"<+7d>\""
but this is not exactly what I want.