Skip to content
Wylie Standage-Beier edited this page Dec 8, 2025 · 1 revision

Themes

Customize TaskFlow's appearance with themes and colors.


Default Theme

TaskFlow uses your terminal's color scheme by default, providing good integration with your existing setup.


Theme Configuration

Add to ~/.config/taskflow/config.toml:

[theme]
# Base colors
background = "default"
foreground = "default"

# UI elements
header_bg = "blue"
header_fg = "white"
sidebar_bg = "default"
sidebar_fg = "default"
selected_bg = "blue"
selected_fg = "white"

# Task states
task_todo = "white"
task_done = "gray"
task_overdue = "red"
task_blocked = "yellow"

# Priorities
priority_urgent = "red"
priority_high = "yellow"
priority_medium = "blue"
priority_low = "gray"
priority_none = "default"

# Status bar
status_bg = "default"
status_fg = "gray"

Available Colors

Basic Colors

Color Name
black Black
red Red
green Green
yellow Yellow
blue Blue
magenta Magenta
cyan Cyan
white White
gray Gray
default Terminal default

Bright Colors

Color Name
bright_black Bright black
bright_red Bright red
bright_green Bright green
bright_yellow Bright yellow
bright_blue Bright blue
bright_magenta Bright magenta
bright_cyan Bright cyan
bright_white Bright white

RGB Colors

Use hex codes for precise colors:

[theme]
header_bg = "#1e1e2e"
header_fg = "#cdd6f4"
selected_bg = "#89b4fa"

256 Colors

Use color numbers:

[theme]
header_bg = "color(62)"
header_fg = "color(231)"

Preset Themes

Dark (Default)

Works with dark terminal backgrounds:

[theme]
background = "default"
foreground = "default"
header_bg = "blue"
selected_bg = "blue"

Light

For light terminal backgrounds:

[theme]
background = "default"
foreground = "black"
header_bg = "blue"
header_fg = "white"
selected_bg = "cyan"
selected_fg = "black"
task_done = "gray"

Nord

Nord color scheme:

[theme]
background = "#2e3440"
foreground = "#eceff4"
header_bg = "#5e81ac"
header_fg = "#eceff4"
selected_bg = "#4c566a"
selected_fg = "#eceff4"
priority_urgent = "#bf616a"
priority_high = "#d08770"
priority_medium = "#ebcb8b"
task_overdue = "#bf616a"

Catppuccin Mocha

[theme]
background = "#1e1e2e"
foreground = "#cdd6f4"
header_bg = "#89b4fa"
header_fg = "#1e1e2e"
selected_bg = "#45475a"
selected_fg = "#cdd6f4"
priority_urgent = "#f38ba8"
priority_high = "#fab387"
priority_medium = "#89dceb"
task_overdue = "#f38ba8"
task_done = "#6c7086"

Solarized Dark

[theme]
background = "#002b36"
foreground = "#839496"
header_bg = "#268bd2"
header_fg = "#fdf6e3"
selected_bg = "#073642"
selected_fg = "#93a1a1"
priority_urgent = "#dc322f"
priority_high = "#cb4b16"
priority_medium = "#b58900"

Dracula

[theme]
background = "#282a36"
foreground = "#f8f8f2"
header_bg = "#6272a4"
header_fg = "#f8f8f2"
selected_bg = "#44475a"
selected_fg = "#f8f8f2"
priority_urgent = "#ff5555"
priority_high = "#ffb86c"
priority_medium = "#8be9fd"
task_overdue = "#ff5555"

Element Reference

Header

[theme]
header_bg = "blue"      # Header background
header_fg = "white"     # Header text

Sidebar

[theme]
sidebar_bg = "default"  # Sidebar background
sidebar_fg = "default"  # Sidebar text
sidebar_selected_bg = "blue"
sidebar_selected_fg = "white"

Task List

[theme]
task_bg = "default"
task_fg = "default"
selected_bg = "blue"
selected_fg = "white"

Task States

[theme]
task_todo = "white"
task_in_progress = "cyan"
task_done = "gray"
task_blocked = "yellow"
task_cancelled = "gray"
task_overdue = "red"

Priority Colors

[theme]
priority_urgent = "red"
priority_high = "yellow"
priority_medium = "blue"
priority_low = "gray"
priority_none = "default"

Status Bar

[theme]
status_bg = "default"
status_fg = "gray"

Pomodoro Timer

[theme]
pomodoro_work = "red"
pomodoro_break = "green"
pomodoro_long_break = "cyan"

Text Styles

Add styles to colors:

[theme]
header_fg = "white bold"
task_done = "gray italic"
selected_fg = "white bold underline"

Available styles:

  • bold
  • italic
  • underline
  • dim
  • blink

Terminal Compatibility

True Color (24-bit)

For hex colors, ensure your terminal supports true color:

echo $COLORTERM  # Should show "truecolor" or "24bit"

256 Color

Most modern terminals support 256 colors.

16 Color

Use named colors for maximum compatibility.


Tips

  1. Match your terminal - Use default for seamless integration
  2. Test readability - Ensure sufficient contrast
  3. Start with presets - Modify existing themes
  4. Use RGB for precision - When exact colors matter

Troubleshooting

Colors Look Wrong

  • Check terminal's color scheme
  • Verify TERM environment variable
  • Try basic color names first

No Colors

export TERM=xterm-256color

Hex Colors Not Working

Ensure true color support:

export COLORTERM=truecolor

See Also

Clone this wiki locally