-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
Rishap Gandhi edited this page Jun 3, 2026
·
2 revisions
| File | Purpose |
|---|---|
~/.config/taskmind/config.yaml |
App settings (intervals, thresholds, dashboard port) |
~/.config/taskmind/projects.yaml |
Project classification rules |
general:
tracking_interval_seconds: 10 # How often to sample active window
idle_threshold_minutes: 5 # No input for this long = idle
recap_time: "17:30" # Daily recap notification time
timesheet:
minimum_block_minutes: 5 # Ignore blocks shorter than this
round_to_minutes: 15 # Round entries to nearest N minutes
tracking:
blacklisted_apps: [] # Never track these (e.g. ["1password"])
blacklisted_titles: [] # Ignore windows matching these
dashboard:
host: "127.0.0.1"
port: 7890Projects are classified using matchers checked in order. First match wins.
| Type | Matches Against |
|---|---|
window_title |
Active window title text |
app_name |
Application name (WM_CLASS instance) |
git_branch |
Branch name visible in window title |
directory |
Directory path in window title |
projects:
- name: "Auth Module"
matchers:
- type: window_title
contains: ["auth-module", "AUTH-"]
- type: app_name
equals: ["code"]
window_title_contains: ["auth"]
- name: "Meetings"
matchers:
- type: app_name
equals: ["zoom", "teams"]
- name: "Code Review"
matchers:
- type: window_title
contains: ["Pull Request", "Merge Request"]- Put more specific rules first (they take priority)
- Use
window_title_containswithapp_namefor narrow matches - Check
taskmind statusto see how time is being classified
You don't need to edit YAML files manually. Use the CLI:
taskmind setup # First-time wizard with presets
taskmind add-project # Add one project interactively
taskmind remove-project # Remove a projectThe wizard offers common presets (Meetings, Communication, Email, Social Media, Code Review) and then lets you add custom projects by entering keywords that appear in your window titles.