-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
Wylie Standage-Beier edited this page Dec 8, 2025
·
1 revision
Customize TaskFlow through the configuration file.
~/.config/taskflow/config.toml
TaskFlow creates a default config on first run.
TaskFlow uses TOML format:
# This is a comment
[section]
key = "value"
number = 42
boolean = true# TaskFlow Configuration
[general]
# Default view on startup
default_view = "today" # today, upcoming, all, overdue, calendar
# Show completed tasks by default
show_completed = false
# Confirm before deleting tasks
confirm_delete = true
# Date format for display
date_format = "%Y-%m-%d" # strftime format
# Start week on (0 = Sunday, 1 = Monday)
week_starts_on = 1
[storage]
# Storage backend: json, yaml, sqlite, markdown
backend = "json"
# Custom data directory (optional)
# data_dir = "/path/to/data"
# Auto-save interval in seconds (0 = instant)
auto_save_interval = 0
[ui]
# Show sidebar by default
show_sidebar = true
# Sidebar width (characters)
sidebar_width = 20
# Show task count in sidebar
show_task_count = true
# Enable mouse support
mouse_support = true
# Show status bar
show_status_bar = true
# Animation speed (ms, 0 = disabled)
animation_speed = 50
[pomodoro]
# Work phase duration (minutes)
work_minutes = 25
# Short break duration (minutes)
short_break_minutes = 5
# Long break duration (minutes)
long_break_minutes = 15
# Cycles before long break
cycles_before_long_break = 4
# Play sound on phase end
play_sound = true
# Auto-start breaks
auto_start_breaks = true
[time_tracking]
# Round time entries to nearest (minutes, 0 = no rounding)
round_to_minutes = 0
# Idle detection threshold (minutes, 0 = disabled)
idle_threshold = 0
[notifications]
# Show overdue alert on startup
show_overdue_alert = true
# Show due today notifications
show_due_today = true
[keybindings]
# Custom keybindings (see Keybindings page)
# quit = "ctrl+q"
# new_task = "n"
[theme]
# See Themes page for color options
# Custom colors can be defined here[general]
default_view = "upcoming"Options: today, upcoming, all, overdue, calendar
[general]
show_completed = false[general]
week_starts_on = 0 # Sunday
# week_starts_on = 1 # Monday[storage]
backend = "sqlite" # json, yaml, sqlite, markdown[storage]
data_dir = "~/Dropbox/taskflow"[pomodoro]
work_minutes = 25
short_break_minutes = 5
long_break_minutes = 15
cycles_before_long_break = 4[pomodoro]
work_minutes = 15
short_break_minutes = 3
long_break_minutes = 10[pomodoro]
work_minutes = 50
short_break_minutes = 10
long_break_minutes = 30[ui]
show_sidebar = true
sidebar_width = 25
show_task_count = true[ui]
mouse_support = trueDisable for pure keyboard workflow:
[ui]
mouse_support = falseUse strftime format codes:
| Code | Meaning | Example |
|---|---|---|
%Y |
Year (4 digit) | 2025 |
%m |
Month (2 digit) | 12 |
%d |
Day (2 digit) | 25 |
%b |
Month (abbrev) | Dec |
%B |
Month (full) | December |
%a |
Day (abbrev) | Mon |
%A |
Day (full) | Monday |
Examples:
[general]
date_format = "%Y-%m-%d" # 2025-12-25
# date_format = "%b %d, %Y" # Dec 25, 2025
# date_format = "%d/%m/%Y" # 25/12/2025Override config settings with environment variables:
TASKFLOW_DATA_DIR=~/data taskflow
TASKFLOW_BACKEND=sqlite taskflowChanges require restart to take effect:
- Edit config file
- Quit TaskFlow (
q) - Restart TaskFlow
Delete config file to reset to defaults:
rm ~/.config/taskflow/config.toml
taskflow # Creates fresh configTaskFlow validates config on startup. Invalid settings show warnings.
- Backup your config - Before major changes
- Start simple - Only change what you need
- Use comments - Document your choices
- Test changes - Restart to verify
- Keybindings - Custom keybindings
- Themes - Color customization
- Storage-Backends - Storage options
- CLI-Options - Command line overrides