Package: twc
TWC - TaskWarrior Controller(previously TaskWarrior Curses) is interactive
terminal frontend for task and TODO manager - TaskWarrior.For full documentation please refer to theUser Manual. There’s also built-in help available
after pressingF1.Featuresagendas - display several filters on a single screen simultaneously
(influenced byorg-mode)create, modify, delete, annotate tasksbulk edits: select arbitrary tasks and modify them all at the same timeautocomplete and tab-complete writing task descriptions, annotations, tags
etc.styling and task formattingtasks and sub-tasks grouping (influenced bytaskwiki)synchronize tasks with task serverstatus line showing arbitrary informationsconfigurable key bindingssearch and incremental search of tasks - search can be case-sensitive,
case-insensitive or smart-case (case sensitivite only when there are upper
case characters in searched term)on-demand filtering of displayed taskshistory of commands (scrolled with up and down arrows)IntroductionTWC works with a concept of “agendas” influenced and borrowed from the mighty
org-mode. Agenda is basically a view of several TaskWarrior filters (called
blocks) displayed on a single screen simultaneously. You can jump between
blocks and single tasks.To add agenda, first create a configuration file inside~/.config/twc/config.py. It is a regular Python file with exposed variablecwhich references a configuration object. You can add new blocks like that:c.add_block(agenda='My Agenda',title='Next Tasks',filter='status:pending',sort='priority+,urgency-')c.add_block(agenda='My Agenda',title='Projects',filter='-WAITING and (+BLOCKING or +BLOCKED) and -INSTANCE',sort='project-,priority-,order+,urgency-',items='* description,tags:info:')Style and colorsTWC can be styled in any way you want. To change its colors usec.set_style():c.set_style('highlight','bg:ansiblue bold')c.set_style('error','fg:white bg:red')Style examples:fg:white(white foreground, named color)bg:#000000(black background, hexadecimal notation)bold italic underline blink reverse hidden(supported style flags)Any style name can be used in task formatting. Some interface elements however
use specific style names.FormattingBlock’sitemsandstatusleftandstatusrightparameters are
composed of lists of displayed items; they can be separated by comma, which
will produce space between items, or by “+” sign, which will concatenate items
to each other without leaving space between them.Each item can be optionally followed by a name of style which should be applied
to this item and item-specific string formatting. When style or formatting are
added, they must be separated and ended by a colon “:”:name:style:format:.All TaskWarrior’s attribute names work as item names and there are some
additional names defined for either blocks and status line.Example format strings are:items='[priority:warning:],(due:comment:%Y-%m-%d:),description'items='[flags::%a%s%d:]+id,description,tags:info:Items will be only displayed when they are present. For example if there are no
tags defined for a task,tagsitem will not produce any output.Items might contain additional characters in place of their names and TWC will
try to intelligently/magically (with regular expressions ;)) guess name. These
additional charactes will be printed only when item is present so they can be
used e.g. to visually delimit some items from the others (e.g. surround tags
with braces, delimit items with “|” etc.)Key bindingsBy default you can navigate with arrows or vim-stylejandk. Exit TWC
withq.You can bind and unbind keys withc.bind(key, command)andc.unbind(key). Refer toUser Manualfor
a list of commands and other default key bindings.Status lineBottom status line displays arbitrary informations and is configurable by
two variables:statusleftandstatusright. They describe format similar
to the one described inFormattingThe main difference is that task
attributes are referenced bytask.<attribute>placeholder and that there
additional placeholders available.c.set('statusleft','COMMAND,task.id')c.set('statusright','flags::%a:')Status line items also include:taskrc,command,COMMAND,agenda.pos,agenda.size,agenda.ppos,flags.InstallationFirst, make sure that TaskWarrior is installed on your system. TaskWarrior is
packaged for most of Linux distributions. Please refer to TaskWarrior’sdocumentationfor details.TWC is distributed viapypi. You can
install it with pip:$ pip3 install --user twcor with pip wrapper likepipsi:$ pipsi install --python python3 twcTWC reads yourtaskrc. It’ll use the default one, which is usually located
in~/.taskrc, but you can change it with-tswitch:$ twc -t ~/dotfiles/my_taskrcTermuxTWC works onTermux, although there’s currently abugin tzlocal - a library
indirectly used by TWC to get local timezone information.Before running TWC on Termux you have to export the following environment
variable:exportTZ=$(getproppersist.sys.timezone)Termux emulates scroll events as key presses. You can bind them for easier
navigation:c.bind('right','next-agenda')c.bind('left','prev-agenda')LicenseTWC was created by Michał Góral.TWC is free software, published under the terms of GNU GPL3 or any later
version. See LICENSE file for details.