The TUI has a two-pane interface, which allows for faster interaction with your todos with autocompletion, custom collections/views, smart and fast task input, and fuzzy search.

○ Left pane

👓 Views

All the views (and their icon, if present) are shown in the left pane; clicking one, causes all the todos in that view to be displayed on the main pane.

Some default views are available:

🛢️ todo.sql

Views are nothing but .todo.sql files placed in$HOME/.config/todo-hs/views/. The folder is pre-populated with the built-in views listed above.

Other, custom views can be added with todo.sql. The names of the views, and the order they appear in the left pane, is determined by the filename. For example, if a view file is named something like 10-inbox.todo.sql, then:

So the resulting view would be named inbox and appear towards the top (e.g., before a 20- but after a 5-).

@Contexts and +Projects


🦉 Main pane

Todos are shown in a table.

Here is a sample list with 3 todos:

⸺ @errands ⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

  (A) buy panettone @errands +xmas
      C:2020-12-20   T:2020-12-21   D:2020-12-25
  (C) buy batteries @errands

⸺ @home ⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

x (C) make the pasta @home
      C:2020-12-20 T:2020-12-20


✨ Fuzzy-Search / New Task dialogue



As you type, todos in the main view below are filtered. At any moment, you may press Ctrl-RET to add a todo with the text you have entered (Similar to deft or Notational Velocity).

NOTE: most features are shamelessly stolen from topydo

:Ex mode

Starting the line with : enters Ex mode. Some tudor-cli commands are supported. E.g.

:pri a 1 2 38 # prioritize todos 1, 2, and 38 with (A)
:archive # archive
:snooze ~1w 3 4 # snooze todos 3, 4 by roughly 1 wee

📅 Dates

Dates are can be shown in relative human format format instead of YYYY-MM-DD, this can be toggled globally with a shortcut.

⌨️ Keyboard shortcuts

🎯 Focusing shortcuts

Focusing shortcuts, to select activate a panel. Once a panel is activated, its outline will turn orange (TODO:). These shortcuts are Ctrl- based:

Ctrl-fFocus Fuzzy Search bar
Ctrl-vFocus Views panel
Ctrl-cFocus Contexts panel
Ctrl-pFocus Projects panel

️🔫 Action shortcuts

↕️ Moving

j or Move down to next view/todo/context/project
k or Move up to next view/todo/context/project
gg or homeMove to first view/todo/context/project
G or endMove to last view/todo/context/project

⇵️ Sorting

Once you are focused on a panel, you can press s followed by another key to sort its contexts.

s #Sort by number of todos in view/context/project
s nSort by name of todos in view/context/project
s xReset sorting to default

TIP: The default sorting is # of todos for Contexts and Projects, and the for Views

🌓 Enabling/Disabling

The Contexts and Projects panels can be used to further narrow down the current view. By default they will list all the contexts/projects for which a task is present in the current view and how many tasks have that context/project in that view.

Both panels can be in normal or inverted mode; in normal mode, the panel headings will be Contexts and Projects respectively. In inverted mode, the pane headings will be Contexts [inverted] and Projects [inverted].

KeysActionVisual cue
vtoggle between inclusive and exclusive filter modeinc/excl in panel
SPCToggles state of context/projectN/A
xResets (enables all contexts)N/A

Move up or down with arrows or with j and k.

🌍 Global shortcuts

Meta-hToggle between human and YYYY-MM-DD date formats
Ctrl-xReset all panes, go back to inbox

TIP: a hint to quit with Ctrl-Q appears if Ctrl-C is pressed twice, since Ctrl-C is reserved for focusing the Contexts panel.

See also: topydo shortcuts