-
Notifications
You must be signed in to change notification settings - Fork 0
Views and Filtering
Navigate different views and filter your tasks.
Access views from the sidebar (h to focus, j/k to navigate, Enter to select).
| View | Shows |
|---|---|
| All Tasks | Every task in the system |
| Today | Tasks due today |
| Upcoming | Tasks with future due dates |
| Overdue | Tasks past their due date |
| Calendar | Monthly calendar view |
| Dashboard | Statistics overview |
| Reports | Detailed analytics |
| Scheduled | Tasks with scheduled dates |
| Blocked | Tasks waiting on dependencies |
| Untagged | Tasks without any tags |
| No Project | Tasks not assigned to a project |
| Recent | Tasks modified in last 7 days |
| Snoozed | Tasks hidden until their snooze time |
Quick access with number keys:
| Key | View | Description |
|---|---|---|
1 |
Task List | Standard task list view |
2 |
Calendar | Monthly calendar with task due dates |
3 |
Dashboard | Statistics and productivity overview |
4 |
Kanban | Column-based task board (Todo/In Progress/Done) |
5 |
Eisenhower | Priority matrix (Urgent/Important quadrants) |
6 |
Weekly Planner | Week view with tasks per day |
7 |
Timeline | Visual timeline of tasks with due dates |
8 |
Habits | Daily/weekly habit tracking with streaks |
9 |
Heatmap | Activity visualization over time |
0 |
Forecast | Workload projection and capacity planning |
Additional specialized views:
- Network - Dependency graph showing task relationships
- Burndown - Sprint progress chart
-
Focus Mode (
f) - Distraction-free single-task view
A column-based task board with status columns.
| Key | Action |
|---|---|
h / l
|
Move between columns |
j / k
|
Move between tasks in column |
Enter |
View task details |
Esc |
Return to task list |
Columns: Todo → In Progress → Done
Four-quadrant priority matrix based on urgency and importance.
| Key | Action |
|---|---|
h / l
|
Move left / right |
j / k
|
Move up / down |
Enter |
View task details |
Quadrants:
- Top-left: Urgent + Important (Do First)
- Top-right: Not Urgent + Important (Schedule)
- Bottom-left: Urgent + Not Important (Delegate)
- Bottom-right: Neither (Eliminate)
View tasks organized by day of the week.
| Key | Action |
|---|---|
h / l
|
Move between days |
j / k
|
Move between tasks |
Enter |
View task details |
D |
Set due date for task |
Visual timeline showing tasks with due dates.
| Key | Action |
|---|---|
h / l
|
Scroll left / right |
j / k
|
Select previous / next task |
< / >
|
Zoom out / in |
t |
Jump to today |
d |
Toggle dependency lines |
Enter |
View task details |
Track recurring habits with streak counters.
| Key | Action |
|---|---|
j / k
|
Navigate habits |
n |
Create new habit |
e |
Edit selected habit |
d |
Delete habit |
Space |
Check-in for today |
a |
Show analytics |
A |
Archive habit |
H |
Toggle archived visibility |
Calendar visualization showing task completion intensity.
- Darker cells indicate more completed tasks
- View-only (no special navigation)
Workload projection showing:
- Weekly task distribution chart
- Daily capacity breakdown (8h default)
- Upcoming deadlines
- Overload warnings when capacity is exceeded
View-only analysis - no special navigation.
Visual graph of task dependencies and chains.
| Key | Action |
|---|---|
h / l / j / k
|
Navigate between nodes |
Enter |
View task details |
Access via sidebar or command.
Sprint progress visualization showing:
- Ideal burndown line
- Actual completion progress
- Remaining work estimate
View-only analysis - no special navigation.
Distraction-free view for working on a single task.
| Key | Action |
|---|---|
[ / ]
|
Navigate task chain (prev/next) |
t |
Start/stop timer |
x |
Toggle task complete |
f / Esc
|
Exit focus mode |
- Press
/ - Type your search query
- Press
Enter
- Searches task titles and descriptions
- Case-insensitive matching
- Partial word matches
Press Ctrl+l to clear and show all tasks.
- Press
# - Enter one or more tags (comma-separated)
- Press
Enter
work, urgent
Shows tasks with any of the specified tags.
Press Ctrl+t to remove the filter.
Press s to cycle through sort options:
Created → Updated → Due Date → Priority → Title → Status
Press S (capital) to switch between:
- Ascending: A→Z, oldest first, lowest priority first
- Descending: Z→A, newest first, highest priority first
Press c to toggle completed task visibility.
-
Showing completed: All tasks visible, completed show
[x] - Hiding completed: Only incomplete tasks shown
The footer indicates the current mode.
Filters can be combined:
- Select a view (e.g., "Today")
- Apply a tag filter (e.g.,
#work) - Start a search (e.g., "meeting")
Result: Today's work tasks containing "meeting"
Select a project from the sidebar to filter to its tasks.
| Key | Action |
|---|---|
/ |
Search tasks |
Ctrl+l |
Clear search |
# |
Filter by tag |
Ctrl+t |
Clear tag filter |
s |
Cycle sort field |
S |
Toggle sort order |
c |
Toggle completed visibility |
- Use views for quick filtering - Today, Upcoming are fastest
- Combine with tags - View + tag filter is powerful
- Sort by due date - Keep urgent tasks visible
- Hide completed - Reduces visual clutter
TaskFlow includes a powerful filter DSL (Domain-Specific Language) for building complex boolean filter expressions. This can be used with the --filter CLI option or in custom views.
Filters use field:value conditions combined with boolean operators:
priority:high AND !status:done
(tags:bug OR tags:urgent) AND project:backend
| Operator | Description | Example |
|---|---|---|
AND |
Both must match | priority:high AND status:todo |
OR |
Either must match | tags:bug OR tags:feature |
! or NOT
|
Negation | !status:done |
() |
Grouping | (priority:high OR priority:urgent) AND tags:work |
| Field | Aliases | Description | Values |
|---|---|---|---|
priority: |
Task priority |
none, low, medium/med, high, urgent
|
|
status: |
Task status |
todo, in_progress/in-progress, blocked, done/completed, cancelled/canceled
|
|
tags: |
tag: |
Tag name | Any string, case-insensitive |
project: |
Project name | Partial match, case-insensitive | |
title: |
Title text | Partial match, case-insensitive | |
search: |
Full-text search | Searches title and description |
All date fields support relative keywords, comparison operators, and range syntax.
| Field | Aliases | Keywords |
|---|---|---|
due: |
today, tomorrow, thisweek, nextweek, overdue, none
|
|
created: |
today, yesterday, thisweek, lastweek
|
|
scheduled: |
today, tomorrow, thisweek, nextweek, none
|
|
completed: |
today, yesterday, thisweek, lastweek
|
|
modified: |
updated: |
today, yesterday, thisweek, lastweek
|
Date formats:
- Exact date:
due:2025-01-15 - Before:
due:<2025-01-15 - After:
due:>2025-01-15
Date range syntax:
| Pattern | Meaning | Example |
|---|---|---|
start..end |
Within range (inclusive) | due:2025-01-01..2025-01-31 |
start.. |
On or after date | created:2025-01-01.. |
..end |
On or before date | completed:..2025-06-30 |
Time-based fields (in minutes) support comparison operators and range syntax.
| Field | Aliases | Description |
|---|---|---|
estimate: |
est: |
Time estimate |
actual: |
tracked: |
Tracked time |
Numeric formats:
- Exact:
estimate:60 - Greater than:
estimate:>60 - Less than:
estimate:<30 - Greater or equal:
estimate:>=60 - Less or equal:
estimate:<=30 - No value:
estimate:none
Numeric range syntax:
| Pattern | Meaning | Example |
|---|---|---|
min..max |
Between (inclusive) | estimate:30..120 |
min.. |
Greater or equal | actual:60.. |
..max |
Less or equal | estimate:..30 |
Check if a task has a value set for a specific field.
| Value | Aliases | Description |
|---|---|---|
has:due |
Task has a due date | |
has:project |
Task is assigned to a project | |
has:tags |
tag |
Task has at least one tag |
has:estimate |
est |
Task has a time estimate |
has:description |
desc |
Task has a description |
has:recurrence |
recurring |
Task has a recurrence pattern |
has:scheduled |
Task has a scheduled date | |
has:dependencies |
deps, blocked
|
Task has dependencies |
has:parent |
subtask |
Task is a subtask |
has:tracked |
time |
Task has tracked time |
# High-priority incomplete tasks
taskflow --filter "priority:high AND !status:done"
# Tasks due in Q1 2025
taskflow --filter "due:2025-01-01..2025-03-31"
# Medium-sized tasks (30 min to 2 hours)
taskflow --filter "estimate:30..120"
# Overdue tasks in a specific project
taskflow --filter "due:overdue AND project:frontend"
# Unplanned work
taskflow --filter "!has:estimate AND !has:due AND status:todo"
# Tasks needing attention
taskflow --filter "due:overdue OR status:blocked"
# Tasks with 1-2 hours tracked
taskflow --filter "actual:60..120"
# Tasks created this week, still pending
taskflow --filter "created:thisweek AND status:todo"