tasknc(1)
π tasknc(1) β the tasknc manual π
okay so bestie, welcome to the tasknc manual β¨ this is the page for tasknc(1), and it's literally a whole vibe. by mjheagle, no cap.
πΈ NAME πΈ
tasknc β a ncurses wrapper around Taskwarrior, written in C π«Ά
by mjheagle
β¨ SYNOPSIS β¨
Usage: tasknc [option] [value]
π¦ DESCRIPTION π¦
tasknc is a ncurses wrapper around the Taskwarrior task manager, in C. that's it, that's the whole flex π
π INVOCATION OPTIONS π
-h,--helpβ prints the help message π₯°-v,--versionβ prints the version oftaskncπ-d,--debug modeβ debug mode, which means no curses gui (feral behavior, honestly). modes can be given as a list, as long as they're all inside a single argument. the modes are:alleval_stringtask_counttrimsearchset_var
-f,--filterβ sets an initial filter string π-l,--loglevel loglvlβ sets the log level to loglvl, which must be a non-negative integer π₯
β DEFAULT KEY BINDS β
j/k/arrowkeys β navigation up and down π¦home/gβ go to first taskend/Gβ go to last taskeβ edit selected task βοΈrβ reload task listuβ runtask undodβ delete selected task πcβ mark selected task as complete βaβ create a new taskv/enterβ runtask infoon selected tasksβ resort list (it prompts you for the sort order)yβ synchronize (runstask sync)qβ exittasknc/pager window π/β search for task πnβ go to next task resultfβ filter (prompts you for a filter string):β open command prompt π«Ά
π CONFIGURATION π
tasknc honors a config file located at:
$XDG_CONFIG_HOME/tasknc/config
or, if $XDG_CONFIG_HOME doesnt exist:
$HOME/.config/tasknc/config
an example config can be found at /usr/share/tasknc/config π
the configuration file contains a series of commands, and those commands follow the format of the commands listed below, iykyk.
π COMMANDS π
commands are either supplied at the command prompt or listed in the configuration file β they're used to configure tasknc to behave as you desire β¨
add β creates a new task and opens it for editing.
bind mode key function args β assigns function to run every time key is pressed in mode. defining keys is described in the KEYS section. functions are anything listed in COMMANDS.
color object foreground background rule β assigns an object to be a color when rule is satisfied. only task objects evaluate rules π the following objects are available:
errorβ error messagesheaderβ title bar & pager titletaskβ tasks in task list
colors are specified in one of three formats:
- integer β the number of the color you desire, where
-1is default - colorNNN β where
NNNis the color you desire in 3 digits - color string β where the following colors are recognized:
black,red,green,yellow,blue,magenta,cyan, andwhite
rules are specified in the following format: ~pattern arg. pattern is a single character; if it's lowercase it indicates a positive match, and if it's uppercase it indicates a negative match. regular expression arguments must be enclosed in single quotes π the following patterns are available:
sβ task is selectedtβ task is startedp 'regex'β project matches regexd 'regex'β description matches regext 'regex'β tags match regexr 'regex'β priority matches regex
command optarg β runs the command optarg, or prompts the user for a command with no arg.
complete β marks selected task as complete β
delete β deletes selected task
edit β opens task for editing
dump β will write active task info to the log file. this is mostly for debugging.
scrdump β will write the ncurses screen dump to file. this is mostly for debugging.
filter β applies filter string optarg, or prompts user for a filter string with no arg.
f_redraw β force a redraw of the whole screen.
help β will open the help window, which will list keybinds π«Ά
modify optarg β runs task modify on the selected task with modifications specified in optarg, or gathered from a user prompt with no arg.
quit β will exit tasknc.
reload β will force tasknc to re-import the task list.
scroll_down β moves the cursor down
scroll_end β moves the cursor to the end of the task list
scroll_home β moves the cursor to the first task
scroll_up β moves the cursor up
search optarg β searches task list for string optarg, or prompts user for a search string with no arg.
search_next β goes to the next item in the task list that matches the search string.
set variable value β will attempt to set variable to a parsed value. a list of available variables is in the VARIABLES section.
shell command β will run an interactive command. a %s will be replaced with the active task's uuid. the task list will be reloaded after.
shell_bg command β will run a background command. a %s will be replaced with the active task's uuid. the task list will be reloaded after.
show variable β will print the formatted contents of variable to either stdout or the prompt area of the ncurses window.
sort optarg β applies a sort defined by string optarg, or prompts user for sort mode with no arg. the sort string defines the priority of each sort component. tasks will first be compared by the first character's order, then if they're equal, the next character's sort order gets evaluated. the default sort order is due, priority, project, uuid (notated drpu). capitalized characters indicate invert the sort for that field π the following characters are valid sorts:
dβ duenβ indexpβ projectrβ priorityuβ uuid
source file β read configuration file and run commands that are contained in it.
source_cmd command β run a command and read commands from its output.
stats β will display the output of task stat.
sync β runs task sync.
toggle_start β toggles the task's status as started or stopped.
unbind mode key β will remove all keybindings from a specific key in mode.
undo β runs task undo.
version β will print the version info about tasknc to the prompt area of the ncurses window.
view β will open the view window for the selected task π
π VARIABLES π
curs_timeout β an integer variable which is the number of milliseconds after which ncurses options should time out. this variable must be set in the config file. (default: 500)
filter_string β the string which is currently filtering the displayed task list. (default: status:pending)
follow_task β a boolean which dictates whether the selected line will stay selected after the task is chenaged. (default: 1)
history_max β an integer variable which defines the maximum number of history entries for a given prompt. this variable must be set in the config file. (default: 50)
log_level β an integer variable which defines which log messages should be printed. all messages at or below the log level are printed and written to file. (default: 1) log levels:
0β Default messages1β Error messages2β Warning messages3β Informative messages4β Debug messages5β Verbose debug messages
program_name β the string which defines the name of the program. this variable is read-only π
program_author β the string which defines the author of tasknc. this variable is read-only π
program_version β the string which defines the version of tasknc. this variable is read-only π
search_string β the string that is currently being searched for. (default: NULL)
selected_line β the integer number of the task which is currently selected.
sort_mode β a character which defines the sort mode. (default: drpu) sort modes:
dβ due datenβ indexpβ project namerβ priority
statusbar_timeout β an integer variable which is the number of seconds after which the message in the statusbar times out. (default: 3)
task_count β the integer number of tasks which are displayed. this variable is read-only π
task_format β the string which defines the format of a displayed task. see FORMATS for more info. this variable must be set in the config file. (default: " $project $description $> ?$due?$due?$-6priority?")
task_version β a string variable which contains the version of Taskwarrior which is being wrapped.
title_format β the string which defines the format of the title bar. see FORMATS for more info. this variable must be set in the config file. (default: " $program_name ($selected_line/$task_count) $> $date")
view_format β the string which defines the format of the title bar of the pager when viewing a task. see FORMATS for more info. this variable must be set in the config file. (default: " task info")
π§ FORMATS π§
formats describe how a line is printed. variables are denoted by a preceding $. the variables listed in the VARIABLES section are all available π
if you would like whitespace at the beginning or end of the string, enclose it in double quotes. field length can be specified by a positive integer between the variable indicator ($) and the variable name.
the following additional variables are also available:
dateβ displays the current date.>β marks the beginning of the right-aligned portion of the formatted section.
for task formats, the following variables are available:
descriptiondueproject
πΈ MODES πΈ
tasklistpager
π₯ KEYS π₯
keys may be specified as an integer or character. in addition, special key strings are recognized. when pressing an unbound key, tasknc will display its name in the statusbar message π
π SIGNALS π
if tasknc receives SIGUSR1, it will reload the task list after the next getch timeout (less than one second, by default) β‘
π BUGS π
please report bugs on http://github.com/lharding/tasknc π«Ά
if you experience a segmentation fault, please try the following to attempt an easy fix:
make clean; make
when reporting segmentation faults, please run the valgrind_test.sh script from within the test directory and attach the resulting valgrind_errors file to your bug report π
π AUTHOR π
maintained by Leander Harding <lsh@lsh.io>
originally developed by mjheagle <mjheagle8@gmail.com>
π CONTRIBUTORS π
special thanks to the following contributors: irl, marcusmueller, prurigo π
π SEE ALSO π
and that's the whole page, bestie π«Ά this was tasknc β version 2020-12-17, dated 1980-01-01 (iconic honestly), living in section tasknc(1). go forth and slay your task list π
β¨
π¦ where this page comes from
- nixos 26.05: tasknc 2020-12-17
- nixpkgs unstable: tasknc 2020-12-17
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms