Skip to content

Advanced Configuration

taskwarrior-tui parses the output of task show to get configuration data. This allows taskwarrior-tui to use the same defaults as taskwarrior and configure additional options as required.

Other taskwarrior-tui configuration options are possible using Taskwarrior user-defined attributes. All taskwarrior-tui specific configuration options begin with uda.taskwarrior-tui.. The following is the full list of options available and their default values if they are not defined in your taskrc file.

uda.taskwarrior-tui.selection.indicator=•
uda.taskwarrior-tui.selection.bold=yes
uda.taskwarrior-tui.selection.italic=no
uda.taskwarrior-tui.selection.dim=no
uda.taskwarrior-tui.selection.blink=no
uda.taskwarrior-tui.selection.reverse=no
uda.taskwarrior-tui.mark.indicator=✔
uda.taskwarrior-tui.unmark.indicator=
uda.taskwarrior-tui.mark-selection.indicator=⦿
uda.taskwarrior-tui.unmark-selection.indicator=⦾
uda.taskwarrior-tui.calendar.months-per-row=4
uda.taskwarrior-tui.task-report.show-info=true
uda.taskwarrior-tui.task-report.looping=true
uda.taskwarrior-tui.task-report.use-alternate-style=true
uda.taskwarrior-tui.task-report.jump-on-task-add=true
uda.taskwarrior-tui.task-report.prompt-on-undo=false
uda.taskwarrior-tui.task-report.prompt-on-delete=false
uda.taskwarrior-tui.task-report.prompt-on-done=false
uda.taskwarrior-tui.style.report.selection=
uda.taskwarrior-tui.style.context.active=black on rgb444
uda.taskwarrior-tui.style.report-menu.active=black on rgb444
uda.taskwarrior-tui.style.calendar.title=black on rgb444
uda.taskwarrior-tui.style.report.scrollbar=black
uda.taskwarrior-tui.scrollbar.indicator=█
uda.taskwarrior-tui.style.report.scrollbar.area=white
uda.taskwarrior-tui.scrollbar.area=║
uda.taskwarrior-tui.task-report.next.filter=$(task show report.next.filter)
uda.taskwarrior-tui.task-report.auto-insert-double-quotes-on-add=true
uda.taskwarrior-tui.task-report.auto-insert-double-quotes-on-annotate=true
uda.taskwarrior-tui.task-report.auto-insert-double-quotes-on-log=true
uda.taskwarrior-tui.task-report.reset-filter-on-esc=true
uda.taskwarrior-tui.context-menu.select-on-move=false
uda.taskwarrior-tui.context-menu.close-on-select=true
uda.taskwarrior-tui.report-menu.select-on-move=false
uda.taskwarrior-tui.report-menu.close-on-select=true
uda.taskwarrior-tui.tabs.change-focus-rotate=false
# UI chrome styles (support all Taskwarrior color formats)
uda.taskwarrior-tui.style.title= # default: LightCyan foreground
uda.taskwarrior-tui.style.title.border= # default: White foreground
uda.taskwarrior-tui.style.help.gauge= # default: Gray foreground
uda.taskwarrior-tui.style.command.error= # default: Red foreground

The uda.taskwarrior-tui.task-report.next.filter variable defines the default view at program startup. Set this to any preconfigured report from task reports, or create your own report in Taskwarrior and specify its name here.

-r specifies a report to be shown and overrides uda.taskwarrior-tui.task-report.next.filter for that instance.

You can configure shortcuts from your Taskwarrior taskrc file (default: ~/.taskrc) by mapping them to executable files:

uda.taskwarrior-tui.shortcuts.1=~/.config/taskwarrior-tui/shortcut-scripts/add-personal-tag.sh
uda.taskwarrior-tui.shortcuts.2=~/.config/taskwarrior-tui/shortcut-scripts/sync.sh
...

The executable file can be placed in any location.

To make a file executable:

  1. Run chmod +x /path/to/script to modify the executable flag.
  2. Add #!/usr/bin/env bash, #!/usr/bin/env python, or whatever is appropriate for your script.

By default, keys 1-9 are available to run shortcuts.

When you hit the shortcut, the script will be executed with selected_tasks_uuid as an argument:

Terminal window
~/.config/taskwarrior-tui/shortcut-scripts/add-personal-tag.sh $selected_tasks_uuid

For example, you can add the personal tag to the currently selected task with the following script in ~/.config/taskwarrior-tui/shortcut-scripts/add-personal-tag.sh:

task rc.bulk=0 rc.confirmation=off rc.dependency.confirmation=off rc.recurrence.confirmation=off "$@" modify +personal

By default, shortcuts are linked to the 1-9 number row keys. They can be customized as any other keys through uda.taskwarrior-tui.keyconfig.shortcut1=<key>. For example:

uda.taskwarrior-tui.keyconfig.shortcut1=n

You can set up shortcuts to run task sync or any custom script that you like.

You can configure one background task to run periodically:

uda.taskwarrior-tui.background_process=task sync
uda.taskwarrior-tui.background_process_period=60

This runs task sync every 60 seconds. If background_process is an empty string, which is the default, then no process is run. Only if background_process is defined and runs successfully will it continue to run every background_process_period seconds, which defaults to 60. If it fails even once, it will not be run again until taskwarrior-tui is restarted.

Overrides the taskwarrior-tui data directory used for logs and history files.

By default this uses your platform’s local data directory, typically ~/.local/share/taskwarrior-tui/ on Linux.

This is useful when debugging because it lets you collect taskwarrior-tui.log in a temporary or project-local folder:

Terminal window
TASKWARRIOR_TUI_DATA=/tmp/taskwarrior-tui-debug taskwarrior-tui

Controls how much information is written to taskwarrior-tui.log.

Supported values are off, warn, info, debug, and trace.

Examples:

Terminal window
TASKWARRIOR_TUI_LOG_LEVEL=debug taskwarrior-tui
TASKWARRIOR_TUI_LOG_LEVEL=trace taskwarrior-tui

Overrides the path to the Taskwarrior executable. Defaults to task, resolved via PATH.

Use this if Taskwarrior is installed in a non-standard location, or if you want to wrap the task binary with a script:

Terminal window
TASKWARRIOR_TUI_TASKWARRIOR_CLI=/usr/local/bin/task taskwarrior-tui

You can also set it permanently in your shell profile:

Terminal window
export TASKWARRIOR_TUI_TASKWARRIOR_CLI=/usr/local/bin/task