A set of Powerline segments for showing information retrieved from Taskwarrior task manager.
It shows a current context and the most urgent active task.
Taskwarrior segments require:
- task v2.4.2 or later,
- Python
^3.7
(support for Python 2.7 was dropped)
yay -S python-powerline-taskwarrior
pip install --user -U powerline-taskwarrior
It can also be installed system-wide, but this is usually a bad idea.
On Debian (testing or unstable), installation can be performed with apt:
apt install python-powerline-taskwarrior
To activate Taskwarrior segments add them to your segment configuration.
See more about powerline configuration in the official documentation.
For example, I store powerline configuration in
~/.config/powerline/themes/shell/default.json
.
These are available powerline-taskwarrior segments:
-
display current context name
{ "function": "powerline_taskwarrior.context", "priority": 70 }
-
display the count of pending tasks
{ "function": "powerline_taskwarrior.pending_tasks_count", "priority": 70 }
-
display the most urgent active task
{ "function": "powerline_taskwarrior.active_task", "priority": 70 }
-
display the most urgent next task
{ "function": "powerline_taskwarrior.next_task", "priority": 70 }
-
obsolete segment displays both of listed above
{ "function": "powerline_taskwarrior.taskwarrior", "priority": 70 }
Taskwarrior-powerline requires custom colorscheme to be configured.
Add the following to your colorschemes (.config/powerline/colorschemes/default.json
):
{
"groups": {
"taskwarrior:context": "information:regular",
"taskwarrior:pending_tasks_count": "information:priority",
"taskwarrior:active_id": { "bg": "mediumgreen", "fg": "black", "attrs": [] },
"taskwarrior:active_desc": { "bg": "green", "fg": "black", "attrs": [] },
"taskwarrior:next_id": { "bg": "brightyellow", "fg": "black", "attrs": [] },
"taskwarrior:next_desc": { "bg": "yellow", "fg": "black", "attrs": [] }
}
}
And here you can configure the colors.
See powerline colorschemes docs for more details.
If you have a custom name for task
command, it should be specified via task_alias
argument in the segment configuration.
powerline_taskwarrior.active_task
and powerline_taskwarrior.next_task
segments accept description_length
parameter.
It is an integer which represents a maximum length of the description field.
If a description is longer than description_length
, it is truncated by words.
powerline_taskwarrior.next_task
segment accepts ignore_active
parameter.
If it set to true
, the segment will be shown always, regardless of existence of an active task.
{
"function": "powerline_taskwarrior.next_task",
"priority": 70,
"args": {
"task_alias": "taskwarrior",
"description_length": 40
}
}
Licensed under the MIT License.
By German Lashevich.