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.
taskrc Configuration File Options
Section titled “taskrc Configuration File Options”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=yesuda.taskwarrior-tui.selection.italic=nouda.taskwarrior-tui.selection.dim=nouda.taskwarrior-tui.selection.blink=nouda.taskwarrior-tui.selection.reverse=nouda.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=4uda.taskwarrior-tui.task-report.show-info=trueuda.taskwarrior-tui.task-report.looping=trueuda.taskwarrior-tui.task-report.use-alternate-style=trueuda.taskwarrior-tui.task-report.jump-on-task-add=trueuda.taskwarrior-tui.task-report.prompt-on-undo=falseuda.taskwarrior-tui.task-report.prompt-on-delete=falseuda.taskwarrior-tui.task-report.prompt-on-done=falseuda.taskwarrior-tui.style.report.selection=uda.taskwarrior-tui.style.context.active=black on rgb444uda.taskwarrior-tui.style.report-menu.active=black on rgb444uda.taskwarrior-tui.style.calendar.title=black on rgb444uda.taskwarrior-tui.style.report.scrollbar=blackuda.taskwarrior-tui.scrollbar.indicator=█uda.taskwarrior-tui.style.report.scrollbar.area=whiteuda.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=trueuda.taskwarrior-tui.task-report.auto-insert-double-quotes-on-annotate=trueuda.taskwarrior-tui.task-report.auto-insert-double-quotes-on-log=trueuda.taskwarrior-tui.task-report.reset-filter-on-esc=trueuda.taskwarrior-tui.context-menu.select-on-move=falseuda.taskwarrior-tui.context-menu.close-on-select=trueuda.taskwarrior-tui.report-menu.select-on-move=falseuda.taskwarrior-tui.report-menu.close-on-select=trueuda.taskwarrior-tui.tabs.change-focus-rotate=false# UI chrome styles (support all Taskwarrior color formats)uda.taskwarrior-tui.style.title= # default: LightCyan foregrounduda.taskwarrior-tui.style.title.border= # default: White foregrounduda.taskwarrior-tui.style.help.gauge= # default: Gray foregrounduda.taskwarrior-tui.style.command.error= # default: Red foregroundThe 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.
Command-Line Options
Section titled “Command-Line Options”-r specifies a report to be shown and overrides uda.taskwarrior-tui.task-report.next.filter for that instance.
Configure User-Defined Shortcuts
Section titled “Configure User-Defined Shortcuts”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.shuda.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:
- Run
chmod +x /path/to/scriptto modify the executable flag. - 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:
~/.config/taskwarrior-tui/shortcut-scripts/add-personal-tag.sh $selected_tasks_uuidFor 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 +personalBy 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=nYou can set up shortcuts to run task sync or any custom script that you like.
Configure One Background Task
Section titled “Configure One Background Task”You can configure one background task to run periodically:
uda.taskwarrior-tui.background_process=task syncuda.taskwarrior-tui.background_process_period=60This 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.
Environment Variables
Section titled “Environment Variables”TASKWARRIOR_TUI_DATA
Section titled “TASKWARRIOR_TUI_DATA”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:
TASKWARRIOR_TUI_DATA=/tmp/taskwarrior-tui-debug taskwarrior-tuiTASKWARRIOR_TUI_LOG_LEVEL
Section titled “TASKWARRIOR_TUI_LOG_LEVEL”Controls how much information is written to taskwarrior-tui.log.
Supported values are off, warn, info, debug, and trace.
Examples:
TASKWARRIOR_TUI_LOG_LEVEL=debug taskwarrior-tuiTASKWARRIOR_TUI_LOG_LEVEL=trace taskwarrior-tuiTASKWARRIOR_TUI_TASKWARRIOR_CLI
Section titled “TASKWARRIOR_TUI_TASKWARRIOR_CLI”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:
TASKWARRIOR_TUI_TASKWARRIOR_CLI=/usr/local/bin/task taskwarrior-tuiYou can also set it permanently in your shell profile:
export TASKWARRIOR_TUI_TASKWARRIOR_CLI=/usr/local/bin/task