Skip to content

Views and Filtering

Wylie Standage-Beier edited this page Dec 11, 2025 · 3 revisions

Views and Filtering

Navigate different views and filter your tasks.


Available Views

Access views from the sidebar (h to focus, j/k to navigate, Enter to select).

Standard Views

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

Specialized Views (Number Keys)

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

Specialized View Navigation

Kanban Board (4)

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: TodoIn ProgressDone

Eisenhower Matrix (5)

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)

Weekly Planner (6)

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

Timeline (7)

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

Habits (8)

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

Heatmap (9)

Calendar visualization showing task completion intensity.

  • Darker cells indicate more completed tasks
  • View-only (no special navigation)

Forecast (0)

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.

Network Graph

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.

Burndown Chart

Sprint progress visualization showing:

  • Ideal burndown line
  • Actual completion progress
  • Remaining work estimate

View-only analysis - no special navigation.

Focus Mode (f)

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

Searching Tasks

Start a Search

  1. Press /
  2. Type your search query
  3. Press Enter

Search Behavior

  • Searches task titles and descriptions
  • Case-insensitive matching
  • Partial word matches

Clear Search

Press Ctrl+l to clear and show all tasks.


Filtering by Tags

Apply Tag Filter

  1. Press #
  2. Enter one or more tags (comma-separated)
  3. Press Enter
work, urgent

Shows tasks with any of the specified tags.

Clear Tag Filter

Press Ctrl+t to remove the filter.


Sorting

Change Sort Field

Press s to cycle through sort options:

Created → Updated → Due Date → Priority → Title → Status

Toggle Sort Order

Press S (capital) to switch between:

  • Ascending: A→Z, oldest first, lowest priority first
  • Descending: Z→A, newest first, highest priority first

Show/Hide Completed

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.


Combining Filters

Filters can be combined:

  1. Select a view (e.g., "Today")
  2. Apply a tag filter (e.g., #work)
  3. Start a search (e.g., "meeting")

Result: Today's work tasks containing "meeting"


Project Filtering

Select a project from the sidebar to filter to its tasks.


Keybindings

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

Tips

  1. Use views for quick filtering - Today, Upcoming are fastest
  2. Combine with tags - View + tag filter is powerful
  3. Sort by due date - Keep urgent tasks visible
  4. Hide completed - Reduces visual clutter

Advanced Filter DSL

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.

Basic Syntax

Filters use field:value conditions combined with boolean operators:

priority:high AND !status:done
(tags:bug OR tags:urgent) AND project:backend

Operators

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

Basic Fields

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

Date Fields

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

Numeric Fields

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

Field Presence (has:)

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

Example Filters

# 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"

See Also

Clone this wiki locally