mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
322 lines
11 KiB
Groff
322 lines
11 KiB
Groff
.TH task-faq 5 2010-07-10 "task 1.9.3" "User Manuals"
|
|
|
|
.SH NAME
|
|
task-faq \- A FAQ for the task(1) command line todo manager.
|
|
|
|
.SH DESCRIPTION
|
|
Task is a command line TODO list manager. It maintains a list of tasks that you
|
|
want to do, allowing you to add/remove, and otherwise manipulate them. Task
|
|
has a rich list of commands that allow you to do various things with it.
|
|
|
|
.SH WELCOME
|
|
Welcome to the task FAQ. If you have would like to see a question answered
|
|
here, please send us a note at <support@taskwarrior.org>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.TP
|
|
.B Q: When I redirect the output of task to a file, I lose all the colors. How do I fix this?
|
|
A: Task knows (or thinks it knows) when the output is not going directly to a
|
|
terminal, and strips out all the color control characters. This is based on
|
|
the assumption that the color control codes are not wanted in the file. Prevent
|
|
this with the following entry in your .taskrc file:
|
|
|
|
_forcecolor=on
|
|
|
|
.TP
|
|
.B Q: How do I backup my task data files? Where are they?
|
|
A: Task writes all pending tasks to the file
|
|
|
|
~/.task/pending.data
|
|
|
|
and all completed and deleted tasks to
|
|
|
|
~/.task/completed.data
|
|
|
|
They are text files, so they can just be copied to another location for
|
|
safekeeping. Don't forget there is also the ~/.taskrc file that contains your
|
|
task configuration data. To be sure, and to future-proof your backup, consider
|
|
backing up all the files in the ~/.task directory.
|
|
|
|
.TP
|
|
.B Q: How can I separate my work tasks from my home tasks? Specifically, can I keep them completely separate?
|
|
A: You can do this by creating an alternate .taskrc file, then using shell
|
|
aliases. Here are example Bash commands to achieve this:
|
|
|
|
% cp ~/.taskrc ~/.taskrc_home
|
|
% (now edit .taskrc_home to change the value of data.location)
|
|
% alias wtask="task"
|
|
% alias htask="task rc:~/.taskrc_home"
|
|
|
|
This gives you two commands, 'wtask' and 'htask' that operate using two
|
|
different sets of task data files.
|
|
|
|
.TP
|
|
.B Q: Can I revert to a previous version of task? How?
|
|
A: Yes, you can revert to a previous version of task, simply by downloading an
|
|
older version and installing it. If you find a bug in task, then this may be the
|
|
only way to work around the bug, until a patch release is made.
|
|
|
|
Note that it is possible that the task file format will change. For example, the
|
|
format changed between versions 1.5.0 and 1.6.0. Task will automatically upgrade
|
|
the file but if you need to revert to a previous version of task, there is the
|
|
file format to consider. This is yet another good reason to back up your task
|
|
data files!
|
|
|
|
.TP
|
|
.B Q: I'm using Ubuntu 9.04, and I want task to word-wrap descriptions. How do I do this?
|
|
A: You need to install ncurses, by doing this:
|
|
|
|
% sudo apt-get install libncurses5-dev
|
|
|
|
Then you need to rebuild task from scratch, starting with
|
|
|
|
% cd task-X.X.X
|
|
% ./configure
|
|
...
|
|
|
|
The result should be a task program that knows the width of the terminal window,
|
|
and wraps accordingly.
|
|
|
|
Note that there are binary packages that all include this capability.
|
|
|
|
.TP
|
|
.B Q: How do I build task under Cygwin?
|
|
A: Task is built the same way everywhere. But under Cygwin, you'll need to make
|
|
sure you have the following packages available first:
|
|
|
|
gcc
|
|
make
|
|
libncurses-devel
|
|
libncurses8
|
|
|
|
The gcc and make packages allow you to compile the code, and are therefore
|
|
required, but the ncurses packages are optional. Ncurses will allow task to
|
|
determine the width of the window, and therefore use the whole width and wrap
|
|
text accordingly, for a more aesthetically pleasing display.
|
|
|
|
Note that there are binary packages that all include this capability.
|
|
|
|
.TP
|
|
.B Q: Do colors work under Cygwin?
|
|
A: They do, but only in a limited way. You can use regular foreground colors
|
|
(black, red, green ...) and you can regular background colors (on_black, on_red,
|
|
on_green ...), but underline and bold are not supported.
|
|
|
|
If you run the command:
|
|
|
|
% task colors
|
|
|
|
Task will display all the colors it can use, and you will see which ones you can use.
|
|
|
|
See the 'man task-color' for more details on which colors can be used.
|
|
|
|
.TP
|
|
.B Q: Where does task store the data?
|
|
By default, task creates a .taskrc file in your home directory and populates it
|
|
with defaults. Task also creates a .task directory in your home directory and
|
|
puts data files there.
|
|
|
|
.TP
|
|
.B Q: Can I edit that data?
|
|
Of course you can. It is a simple text file, and looks somewhat like the JSON
|
|
format, and if you are careful not to break the format, there is no reason not
|
|
to edit it. But task provides a rich command set to do that manipulation for
|
|
you, so it is probably best to leave those files alone.
|
|
|
|
.TP
|
|
.B Q: How do I restore my .taskrc file to defaults?
|
|
If you delete (or rename) your .taskrc file, task will offer to create a default
|
|
one for you. Another way to do this is with the command:
|
|
|
|
$ task rc:new-file version
|
|
|
|
Task will create 'new-file' if it doesn't already exist. Note that this is a
|
|
good way to learn about new configuration settings, if your .taskrc file was
|
|
created by an older version of task.
|
|
|
|
.TP
|
|
.B Q: Do I need to back up my task data?
|
|
Yes. You should back up your ~/.task directory, and probably your ~/.taskrc
|
|
file too.
|
|
|
|
.TP
|
|
.B Q: Can I share my tasks between different machines?
|
|
Yes, you can. Most people have success with a DropBox - a free and secure file
|
|
synching tool. Simply configure task to store it's data in a dropbox folder, by
|
|
modifying the:
|
|
|
|
data.location=...
|
|
|
|
configuration variable. Check out DropBox at http://www.dropbox.com.
|
|
|
|
.TP
|
|
.B Q: The undo.data file gets very large - do I need it?
|
|
You need it if you want the undo capability. But if it gets large, you can
|
|
certainly truncate it to save space, just be careful to delete lines from the
|
|
top of the file, up to and including a separator '---'. The simplest way is to
|
|
simply delete the undo.data file. Note that it does not slow down task, because
|
|
task never reads it until you want to undo. Otherwise task only appends to the
|
|
file.
|
|
|
|
.TP
|
|
.B Q: How do I know whether my terminal support 256 colors?
|
|
You will need to make sure your TERM environment variable is set to xterm-color,
|
|
otherwise the easiest way is to just try it! With task 1.9 or later, you simply
|
|
run
|
|
|
|
$ task color
|
|
|
|
and a full color palette is displayed. If you see only 8 or 16 colors, perhaps
|
|
with those colors repeated, then your terminal does not support 256 colors.
|
|
|
|
See the task-color(5) man page for more details.
|
|
|
|
.TP
|
|
.B Q: How do I make use of all these colors?
|
|
See the task-color(5) man page for an in-depth explanation of the task color
|
|
rules.
|
|
|
|
.TP
|
|
.B Q: How can I make task put the command in the terminal window title?
|
|
You cannot. But you can make the shell do it, and you can make the shell
|
|
call the task program. Here is a Bash script that does this:
|
|
|
|
#! /bin/bash
|
|
|
|
printf "\\033]0;task $*\a"
|
|
/usr/local/bin/task $*
|
|
|
|
You just need to run the script, and let the script run task. Here is a Bash
|
|
function that does the same thing:
|
|
|
|
t ()
|
|
{
|
|
printf "\\033]0;task $*\a"
|
|
/usr/local/bin/task $*
|
|
}
|
|
|
|
.TP
|
|
.B Q: Task searches in a case-sensitive fashion - can I change that?
|
|
You can. Just set the following value in your .taskrc file:
|
|
|
|
search.case.sensitive=no
|
|
|
|
This will affect searching for keywords:
|
|
|
|
$ task list Document
|
|
|
|
task will perform a caseless search in the description and any annotations for
|
|
the keyword 'Document'. It also affects description and annotation
|
|
substitutions:
|
|
|
|
$ task 1 /teh/the/
|
|
|
|
The pattern on the left will now be a caseless search term.
|
|
|
|
.TP
|
|
.B Q: Why do the task ID numbers change?
|
|
Task does this to always show you the smallest numbers it can. The idea is that
|
|
if your tasks are numbered 1 - 33, for example, those are easy to type in. If
|
|
instead task kept a rolling sequence number, after a while your tasks might be
|
|
numbered 481 - 513, which makes it more likely to enter one incorrectly, because
|
|
there are more digits.
|
|
|
|
When you run a report (such as "list"), task assigns the numbers before it
|
|
displays them. For example, you can do this:
|
|
|
|
$ task list
|
|
$ task do 12
|
|
$ task add Pay the rent
|
|
$ task delete 31
|
|
|
|
Those id numbers are then good until the next report is run. This is because
|
|
task performs a garbage-collect operation on the pending tasks file when a
|
|
report is run, which moves the deleted and completed tasks from the pending.data
|
|
file to the completed.data file. This keeps the pending tasks file small, and
|
|
therefore keeps task fast. The completed data file is the one that grows
|
|
unbounded with use, but that one isn't accessed as much, so it doesn't matter as
|
|
much. So in all, the ID number resequencing is about efficiency.
|
|
|
|
.TP
|
|
.B Q: How do I list tasks that are either priority 'H' or 'M', but not 'L'?
|
|
Task's filters are all combined with and implicit logical AND operator, so if
|
|
you were to try this:
|
|
|
|
$ task list priority:H priority:M
|
|
|
|
There would be no results, because the priority could not simultaneously be 'H'
|
|
AND 'M'. What is required is some way to use OR instead of an AND operator. The
|
|
solution is to invert the filter in this way:
|
|
|
|
$ task list priority.not:L priority.any:
|
|
|
|
This filter states that the priority must not be 'L', AND there must be a
|
|
priority assigned. This filter then properly lists tasks that are 'H' or 'M',
|
|
because the two logical restrictions are not mutually exclusive as in the
|
|
original filter.
|
|
|
|
Some of you may be familiar with DeMorgan's laws of formal logic that relate
|
|
the AND and OR operators in terms of each other via negation, which can be used
|
|
to construct task filters.
|
|
|
|
.TP
|
|
.B Q: How do I delete an annotation?
|
|
Task now has a 'denotate' command to remove annotations. First here is an
|
|
example task:
|
|
|
|
$ task add Original task
|
|
$ task 1 annotate foo
|
|
$ task 1 annotate bar
|
|
$ task 1 annotate foo bar
|
|
|
|
Now to delete the first annotation, use:
|
|
|
|
$ task 1 denotate foo
|
|
|
|
This takes the fragment 'foo' and compares it to each of the annotations. In
|
|
this example, it will remove the first annotation, not the third, because it is
|
|
an exact match. If there are no exact matches, it will remove the first
|
|
non-exact match:
|
|
|
|
$ task 1 denotate ar
|
|
|
|
This will remove the second annotation - the first non-exact match.
|
|
|
|
.SH "CREDITS & COPYRIGHTS"
|
|
task was written by P. Beckingham <paul@beckingham.net>.
|
|
.br
|
|
Copyright (C) 2006 \- 2010 P. Beckingham
|
|
|
|
This man page was originally written by P. Beckingham.
|
|
|
|
task is distributed under the GNU General Public License. See
|
|
http://www.gnu.org/licenses/gpl-2.0.txt for more information.
|
|
|
|
.SH SEE ALSO
|
|
.BR task(1),
|
|
.BR taskrc(5),
|
|
.BR task-tutorial(5)
|
|
.BR task-color(5)
|
|
|
|
For more information regarding task, the following may be referenced:
|
|
|
|
.TP
|
|
The official site at
|
|
<http://taskwarrior.org>
|
|
|
|
.TP
|
|
The official code repository at
|
|
<git://tasktools.org/task.git/>
|
|
|
|
.TP
|
|
You can contact the project by writing an email to
|
|
<support@taskwarrior.org>
|
|
|
|
.SH REPORTING BUGS
|
|
.TP
|
|
Bugs in task may be reported to the issue-tracker at
|
|
<http://taskwarrior.org>
|