Status
Status¶
Draft
Context¶
We want in a user friendly way to:
- See the tasks that need to be done today, and in this week
- Plan the day, which task needs to be done when
- Get notifications when it's time to do a task (for example attend a meeting)
- Graphical visualization on how much time is left for the active task
Proposals¶
We can create two TUI interfaces:
- Landing page: Where the relevant information about the state of the tasks is shown
- Day planning: Where the user can organize the day.
Landing page¶
The user will have the choice to activate or deactivate any of the next sections.
Day's plan section¶
Shows the day's plan, something like:
07:00 - 08:00 Breakfast
07:30 Review Anki
08:00 - 13:00 Work
08:00 Work on task 1
11:00 - 11:30 Meeting
13:00 - 14:00 Lunch
Where:
- Active elements are in green. An element is activated if
their start planned date < actual date
and they are not closed. - Overdue elements are in red. An element is overdue if
their end planned date > actual date
and they are not closed. - Closed elements are in grey.
If a task doesn't have an end planned date, it means that it can be done whenever in the day since the start planned date.
If a task has the notify
attribute set, an alert will be raised when the
start
date arrives, so that it's actionable, it'll also raise another alert
when it becomes overdue. If a task has the start_reminder
or end_reminder
attributes set, a notification will be shown that amount of time before the
start or end date.
By default the cursor will be at the first active task.
Controls¶
The user will be able to interact with the TUI through:
jk
: to move between the elementsd
: Toggle element state from done to todo.D
: Delete the elementh
: Toggle the hiding of completed elementsm
: Toggle the moving mode. Moving mode will move the highlighted element withjk
.enter
: Enter the Task TUIe
: Edit the highlighted element description.a
: Add an element through the task creation TUI
Close future task section¶
Shows the tasks that have a due date in the next X days:
----------- 2021-09-25 --------------
11:00 Meeting
Task 2
----------- 2021-09-26 --------------
Task 3
Controls¶
The user will be able to interact with the TUI through:
jk
: to move between the elementsd
: Toggle element state from done to todo.D
: Delete the elementm
: Toggle the moving mode. Moving mode will move the highlighted element withjk
.enter
: Enter the Task TUIe
: Edit the highlighted element description.a
: Add an element through the task creation TUI
Notifications section¶
Shows relevant events related to the tasks state:
- A task has become overdue
- A task has become actionable
Overdue: Task 1
Actionable: Task 2
Controls¶
The user will be able to interact with the TUI through:
jk
: to move between the elementsd
: Mark the element as seenenter
: Enter the Task TUI
Next tasks section¶
An ordered list of the tasks that should be actioned upon next. Returned by the
Next
report.
Controls¶
The user will be able to interact with the TUI through:
jk
: to move between the elementsd
: Toggle element state from done to todo.D
: Toggle element state from deleted to todo.m
: Toggle the moving mode. Moving mode will move the highlighted element withjk
.enter
: Enter the Task TUIe
: Edit the highlighted element description.a
: Add an element through the task creation TUI
Task section¶
Shows the active Task TUI. Defined in this adr.
Day planning¶
- The tasks for the day need to have a
plan
date.