task-faq(5) User Manuals task-faq(5)NAMEtask-faq - A FAQ for the task(1) command line todo manager.
WELCOME
Welcome to the taskwarrior FAQ. If you would like to see a question
answered here, please send us a note to <support@taskwarrior.org>.
Q: When I redirect the output to a file, I lose all the colors. How do
I fix this?
Taskwarrior 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
or by temporarily overriding the value on the command line:
task ... rc._forcecolor=on
There is an additional problem when using pagers such as 'less'
and 'more', because color control codes are stripped. When
using less, these options will preserve the color codes:
task ... | less -FrX
There have been problems reported with the Linux 'more' pager,
which inserts newline characters.
Q: How do I backup my taskwarrior data files? Where are they?
Taskwarrior writes all data to files in this location:
~/.task/
You may have overridden this location with the 'data.location'
configuration setting, in which case backup that instead. All
files in this location should be backed up. Making sure all the
files in this location are backed up, and not just a named sub‐
set will ensure that you properly backup future versions of
taskwarrior, which will likely introduce more files in this
location.
Don't forget there is also the ~/.taskrc file that contains your
taskwarrior configuration data.
Q: How can I separate my work tasks from my home tasks? Specifically,
can I keep them completely separate?
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.loca‐
tion)
% 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. Bash shell func‐
tions are a good alternative.
Q: Can I revert to a previous version of taskwarrior? How?
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 taskwarrior file format will
change. For example, the format changed between versions 1.5.0
and 1.6.0. Taskwarrior will automatically upgrade the file but
if you need to revert to a previous version of taskwarrior,
there is the file format to consider. This is yet another good
reason to back up your task data files!
Q: Can I have two separate versions of taskwarrior installed? How?
Yes, and here is one simple way to do that. Install the older
version of taskwarrior, and then rename the 'task' binary to
something like 't194' to reflect the version number. Then
install the newer version, which will be named 'task'. Now you
have 't194' and 'task' both installed, both using the same con‐
figuration and data.
Note that the older version will not be aware of any new config‐
uration settings and so will complain about them in the 'show'
command. This can be ignored. Likewise the newer version may
complain about obsolete entries in the configuration.
Note also that the man pages will overwrite, which is why it is
suggested that the older version be installed first, so that you
benefit from improved documentation.
Q: How do I build a Darwin 32bit version of task
The taskwarrior packages will not work on a 32-bit OSX installa‐
tion on Core Duo hardware. You will need to build Taskwarrior
from source, and use this configure command:
./configure "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
See: http://taskwarrior.org/issues/817
http://stackoverflow.com/questions/3261909/build-32bit-
on-64-bit-linux-using-a-configure-script
Q: How do I build taskwarrior under Cygwin?
Take a look at the README.build file, where the latest informa‐
tion on build issues is kept. Taskwarrior is built the same way
everywhere. But under Cygwin, you'll need to make sure you have
the following packages available first:
gcc
make
The gcc and make packages allow you to compile the code, and are
therefore required.
Q: Do colors work under Cygwin?
They do, but only in a limited way. You can use regular fore‐
ground colors (black, red, green ...) and regular background
colors (on_black, on_red, on_green ...), but underline and bold
are not supported.
If you run the command:
% task colors
Taskwarrior will display all the colors it can use, and you will
see which ones you can use.
Note that if you install the 'mintty' shell in Cygwin, then you
can use 256 colors.
See the 'man task-color' page for more details on which colors
can be used.
Q: Where does taskwarrior store the data?
By default, taskwarrior creates a .taskrc file in your home
directory and populates it with defaults. Taskwarrior also cre‐
ates a .task directory in your home directory and puts data
files there.
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 taskwarrior pro‐
vides a rich command set to do that manipulation for you, so it
is probably best to leave those files alone.
Q: How do I restore my .taskrc file to defaults?
If you delete (or rename) your .taskrc file, taskwarrior will
offer to create a default one for you. Another way to do this
is with the command:
task rc:new-file version
Taskwarrior will create 'new-file' if it doesn't already exist.
There will not be much in it though - taskwarrior relies heavily
on default values, which can be seen with this command:
task show
This lists all the currently known settings. If you have just
created a new file, then this command lists only the defaults.
Note that this is a good way to learn about new configuration
settings, particularly if your .taskrc file was created by an
older version.
Q: Do I need to back up my taskwarrior data?
Yes you do, like all your other files. You should back up all
the files in your ~/.task directory, and your ~/.taskrc file
too.
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 taskwarrior to
store it's data in a dropbox folder, by modifying the:
data.location=...
configuration variable. Check out DropBox at http://www.drop‐
box.com.
You might also want to share the same .taskrc file. You can do
this by putting an alias in the .bashrc file along the lines of
alias task="task rc:/home/username/Dropbox/mysharedtaskrc"
An alternative to Dropbox is to use the push/pull/merge features
built into Taskwarrior. See 'man task-sync' for details.
Q: I don't want to use dropbox. Is there another way to synchronize my
tasks?
Of course. Especially if you want to modify tasks offline on
both machines and synchronize them later on. For this purpose
there is a 'merge' command which is is able to insert the modi‐
fications you made to one of your task databases into a second
database.
Here is a basic example of the procedure:
task merge ssh://user@myremotehost/.task/
task push ssh://user@myremotehost/.task/
The first command fetches the undo.data file from the remote
system, reads the changes made and updates the local database.
When this merge command completes, you should copy all the local
.data files to the remote system either by using the push com‐
mand explicitly or by activating the merge.autopush feature in
the ~/.taskrc file. This way you ensure that both systems are
fully synchronized.
Q: The undo.data file gets very large - do I need it?
You need it if you want the undo capability, or the merge capa‐
bility mentioned above. 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 taskwarrior in performance-sensitive
areas, because it is typically not read until you want to undo,
or report total active time in the 'info' command. Taskwarrior
generally only appends to the file.
It is not recommended that you delete the undo.data file, as it
limits functionality.
Q: How do I know whether my terminal supports 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 version 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.
Q: How do I make use of all these colors?
Use one of our provided color themes, or create your own - after
all, they are just collections of color settings.
See the task-color(5) man page for an in-depth explanation of
the color rules.
Q: How can I make taskwarrior put the command in the terminal window
title?
Just set the following value in your .taskrc file:
xterm.title=on
Q: Taskwarrior 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 Document list
taskwarrior will perform a caseless search in the description
and any annotations for the keyword 'Document'. It also affects
description and annotation substitutions:
task 1 modify /teh/the/
The pattern on the left will now be a caseless search term.
Q: Why do the ID numbers change?
Taskwarrior 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 num‐
bered 481 - 513, which makes it more likely to enter one incor‐
rectly, because there are more digits.
When you run a report (such as "list"), the numbers are assigned
before display. For example, you can do this:
task list
task 12 done
task add Pay the rent
task 31 delete
Those id numbers are then good until the next report is run.
This is because taskwarrior 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 taskwarrior 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.
Q: How do I list tasks that are either priority 'H' or 'M', but not
'L'?
Taskwarrior's filters are all by default combined with an
implicit logical AND operator, so if you were to try this:
task priority:H priority:M list
There would be no results, because the priority could not simul‐
taneously be 'H' AND 'M'. Instead, you have a choice. You can
do this:
task '(priority:H or priority:M)' list
Note that the quotes are one way of escaping the ( ) characters
that are otherwise interpreted by the shell before taskwarrior
sees them. You can also do this:
task priority.not:L priority.any: list
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.
Q: How do I delete an annotation?
Taskwarrior now has a 'denotate' command to remove annotations.
Here is an example:
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 annota‐
tion, 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.
Q: How do I show tasks completed on a certain day?
The day in question has to be boxed by a range, like this:
task end.after:3/29/2013 end.before:3/30/2013 completed
Note that a single date, such as 3/29/2013 does not refer to a
whole day, but to a single point in time, 3/20/2013 0:00:00.
Q: How can I help?
There are lots of ways. Here are some:
- Provide feedback on what works, what does not
- Tell us how task does or does not fit your workflow
- Tell people about task
- Report bugs when you see them
- Contribute to our Wiki
- Suggest features
- Write unit tests
- Write add-on scripts, and share them
- Fix bugs
CREDITS & COPYRIGHTS
Copyright (C) 2006 - 2013 P. Beckingham, F. Hernandez.
Taskwarrior is distributed under the MIT license. See http://www.open‐
source.org/licenses/mit-license.php for more information.
SEE ALSOtask(1), taskrc(5), task-tutorial(5), task-color(5), task-sync(5)
For more information regarding task, the following may be referenced:
The official site at
<http://taskwarrior.org>
The official code repository at
<git://tasktools.org/task.git/>
You can contact the project by writing an email to
<support@taskwarrior.org>
REPORTING BUGS
Bugs in taskwarrior may be reported to the issue-tracker at
<http://taskwarrior.org>
task 2.2.0 2013-04-07 task-faq(5)