1task-faq(5) User Manuals task-faq(5)
2
3
4
6 task-faq - A FAQ for the task(1) command line todo manager.
7
8
10 Taskwarrior is a command line TODO list manager. It maintains a list of
11 tasks that you want to do, allowing you to add/remove, and otherwise
12 manipulate them. Taskwarrior has a rich list of commands that allow
13 you to do various things with it.
14
15
17 Welcome to the taskwarrior FAQ. If you have would like to see a ques‐
18 tion answered here, please send us a note at <support@taskwarrior.org>.
19
20
21 Q: When I redirect the output to a file, I lose all the colors. How do
22 I fix this?
23 A: Taskwarrior knows (or thinks it knows) when the output is not
24 going directly to a terminal, and strips out all the color con‐
25 trol characters. This is based on the assumption that the color
26 control codes are not wanted in the file. Prevent this with the
27 following entry in your .taskrc file:
28
29 _forcecolor=on
30
31 There is an additional problem with using pagers such as 'less'
32 and 'more'. When using less, these options will preserve the
33 color codes:
34
35 task ... | less -FrX
36
37 There have been problems reported with the Linux 'more' pager,
38 which inserts newline characters.
39
40
41 Q: How do I backup my taskwarrior data files? Where are they?
42 A: Taskwarrior writes all pending tasks to the file
43
44 ~/.task/pending.data
45
46 and all completed and deleted tasks to
47
48 ~/.task/completed.data
49
50 They are text files, so they can just be copied to another loca‐
51 tion for safekeeping. Don't forget there is also the ~/.taskrc
52 file that contains your taskwarrior configuration data. To be
53 sure, and to future-proof your backup, consider backing up all
54 the files in the ~/.task directory.
55
56
57 Q: How can I separate my work tasks from my home tasks? Specifically,
58 can I keep them completely separate?
59 A: You can do this by creating an alternate .taskrc file, then
60 using shell aliases. Here are example Bash commands to achieve
61 this:
62
63 % cp ~/.taskrc ~/.taskrc_home
64 % (now edit .taskrc_home to change the value of data.loca‐
65 tion)
66 % alias wtask="task"
67 % alias htask="task rc:~/.taskrc_home"
68
69 This gives you two commands, 'wtask' and 'htask' that operate
70 using two different sets of task data files.
71
72
73 Q: Can I revert to a previous version of taskwarrior? How?
74 A: Yes, you can revert to a previous version of task, simply by
75 downloading an older version and installing it. If you find a
76 bug in task, then this may be the only way to work around the
77 bug, until a patch release is made.
78
79 Note that it is possible that the taskwarrior file format will
80 change. For example, the format changed between versions 1.5.0
81 and 1.6.0. Taskwarrior will automatically upgrade the file but
82 if you need to revert to a previous version of taskwarrior,
83 there is the file format to consider. This is yet another good
84 reason to back up your task data files!
85
86
87 Q: How do I build taskwarrior under Cygwin?
88 A: Take a look at the README.build file, where the latest infor‐
89 mation on build issues is kept. Taskwarrior is built the same
90 way everywhere. But under Cygwin, you'll need to make sure you
91 have the following packages available first:
92
93 gcc
94 make
95
96 The gcc and make packages allow you to compile the code, and are
97 therefore required.
98
99
100 Q: Do colors work under Cygwin?
101 A: They do, but only in a limited way. You can use regular fore‐
102 ground colors (black, red, green ...) and you can regular back‐
103 ground colors (on_black, on_red, on_green ...), but underline
104 and bold are not supported.
105
106 If you run the command:
107
108 % task colors
109
110 Taskwarrior will display all the colors it can use, and you will
111 see which ones you can use.
112
113 Note that if you install the 'mintty' shell in Cygwin, then you
114 can use 256 colors.
115
116 See the 'man task-color' for more details on which colors can be
117 used.
118
119
120 Q: Where does taskwarrior store the data?
121 By default, taskwarrior creates a .taskrc file in your home
122 directory and populates it with defaults. Taskwarrior also cre‐
123 ates a .task directory in your home directory and puts data
124 files there.
125
126
127 Q: Can I edit that data?
128 Of course you can. It is a simple text file, and looks somewhat
129 like the JSON format, and if you are careful not to break the
130 format, there is no reason not to edit it. But taskwarrior pro‐
131 vides a rich command set to do that manipulation for you, so it
132 is probably best to leave those files alone.
133
134
135 Q: How do I restore my .taskrc file to defaults?
136 If you delete (or rename) your .taskrc file, taskwarrior will
137 offer to create a default one for you. Another way to do this
138 is with the command:
139
140 $ task rc:new-file version
141
142 Taskwarrior will create 'new-file' if it doesn't already exist.
143 There will not be much in it though - taskwarrior relies heavily
144 on default values, which can be seen with this command:
145
146 $ task show
147
148 which lists all the currently known settings. If you have just
149 created new-file, then this command lists only the defaults.
150
151 Note that this is a good way to learn about new configuration
152 settings, particularly if your .taskrc file was created by an
153 older version.
154
155
156 Q: Do I need to back up my taskwarrior data?
157 Yes. You should back up your ~/.task directory, and probably
158 your ~/.taskrc file too.
159
160
161 Q: Can I share my tasks between different machines?
162 Yes, you can. Most people have success with a DropBox - a free
163 and secure file synching tool. Simply configure taskwarrior to
164 store it's data in a dropbox folder, by modifying the:
165
166 data.location=...
167
168 configuration variable. Check out DropBox at http://www.drop‐
169 box.com.
170
171
172 Q: I don't like dropbox. Is there another way to synchronize my tasks?
173 Of course. Especially if you want to modify tasks offline on
174 both machines and synchronize them later on. For this purpose
175 there is a 'merge' command which is is able to insert the modi‐
176 fications you made to one of your task databases into a second
177 database.
178
179 Here is a basic example of the procedure:
180
181 $ task merge ssh://user@myremotehost/.task/
182 $ task push ssh://user@myremotehost/.task/
183
184 The first command fetches the undo.data file from the remote
185 system, reads the changes made and updates the local database.
186 When this merge command completes, you should copy all the local
187 .data files to the remote system either by using the push com‐
188 mand explicitly or by activating the merge.autopush feature in
189 the ~/.taskrc file. This way you ensure that both systems are
190 fully synchronized.
191
192
193 Q: The undo.data file gets very large - do I need it?
194 You need it if you want the undo capability, or the merge capa‐
195 bility mentioned above. But if it gets large, you can certainly
196 truncate it to save space, just be careful to delete lines from
197 the top of the file, up to and including a separator '---'. The
198 simplest way is to simply delete the undo.data file. Note that
199 it does not slow down taskwarrior, because it is never read
200 until you want to undo. Otherwise taskwarrior only appends to
201 the file.
202
203
204 Q: How do I know whether my terminal support 256 colors?
205 You will need to make sure your TERM environment variable is set
206 to xterm-color, otherwise the easiest way is to just try it!
207 With version 1.9 or later, you simply run
208
209 $ task color
210
211 and a full color palette is displayed. If you see only 8 or 16
212 colors, perhaps with those colors repeated, then your terminal
213 does not support 256 colors.
214
215 See the task-color(5) man page for more details.
216
217
218 Q: How do I make use of all these colors?
219 Use one of our provided color themes, or create your own - after
220 all, they are just collections of color settings.
221
222 See the task-color(5) man page for an in-depth explanation of
223 the color rules.
224
225
226 Q: How can I make taskwarrior put the command in the terminal window
227 title?
228 You cannot. But you can make the shell do it, and you can make
229 the shell call the task program. Here is a Bash script that
230 does this:
231
232 #! /bin/bash
233
234 printf "\033]0;task $*"
235 /usr/local/bin/task $*
236
237 You just need to run the script, and let the script run task.
238 Here is a Bash function that does the same thing:
239
240 t ()
241 {
242 printf "\033]0;task $*"
243 /usr/local/bin/task $*
244 }
245
246
247 Q: Taskwarrior searches in a case-sensitive fashion - can I change
248 that?
249 You can. Just set the following value in your .taskrc file:
250
251 search.case.sensitive=no
252
253 This will affect searching for keywords:
254
255 $ task list Document
256
257 taskwarrior will perform a caseless search in the description
258 and any annotations for the keyword 'Document'. It also affects
259 description and annotation substitutions:
260
261 $ task 1 /teh/the/
262
263 The pattern on the left will now be a caseless search term.
264
265
266 Q: Why do the ID numbers change?
267 Taskwarrior does this to always show you the smallest numbers it
268 can. The idea is that if your tasks are numbered 1 - 33, for
269 example, those are easy to type in. If instead task kept a
270 rolling sequence number, after a while your tasks might be num‐
271 bered 481 - 513, which makes it more likely to enter one incor‐
272 rectly, because there are more digits.
273
274 When you run a report (such as "list"), the numbers are assigned
275 before display. For example, you can do this:
276
277 $ task list
278 $ task do 12
279 $ task add Pay the rent
280 $ task delete 31
281
282 Those id numbers are then good until the next report is run.
283 This is because taskwarrior performs a garbage-collect operation
284 on the pending tasks file when a report is run, which moves the
285 deleted and completed tasks from the pending.data file to the
286 completed.data file. This keeps the pending tasks file small,
287 and therefore keeps taskwarrior fast. The completed data file
288 is the one that grows unbounded with use, but that one isn't
289 accessed as much, so it doesn't matter as much. So in all, the
290 ID number resequencing is about efficiency.
291
292
293 Q: How do I list tasks that are either priority 'H' or 'M', but not
294 'L'?
295 Taskwarriors filters are all combined with and implicit logical
296 AND operator, so if you were to try this:
297
298 $ task list priority:H priority:M
299
300 There would be no results, because the priority could not simul‐
301 taneously be 'H' AND 'M'. What is required is some way to use
302 OR instead of an AND operator. The solution is to invert the
303 filter in this way:
304
305 $ task list priority.not:L priority.any:
306
307 This filter states that the priority must not be 'L', AND there
308 must be a priority assigned. This filter then properly lists
309 tasks that are 'H' or 'M', because the two logical restrictions
310 are not mutually exclusive as in the original filter.
311
312 Some of you may be familiar with DeMorgan's laws of formal logic
313 that relate the AND and OR operators in terms of each other via
314 negation, which can be used to construct task filters.
315
316
317 Q: How do I delete an annotation?
318 Taskwarrior now has a 'denotate' command to remove annotations.
319 Here is an example:
320
321 $ task add Original task
322 $ task 1 annotate foo
323 $ task 1 annotate bar
324 $ task 1 annotate foo bar
325
326 Now to delete the first annotation, use:
327
328 $ task 1 denotate foo
329
330 This takes the fragment 'foo' and compares it to each of the
331 annotations. In this example, it will remove the first annota‐
332 tion, not the third, because it is an exact match. If there are
333 no exact matches, it will remove the first non-exact match:
334
335 $ task 1 denotate ar
336
337 This will remove the second annotation - the first non-exact
338 match.
339
340
341 Q: Why Lua as an extension language?
342 Lua has many positive attributes:
343
344 - Lua is written using tight, fast, standard C - Lua is a breeze
345 to integrate into any product - The Lua source code is beauti‐
346 fully written - Lua is a small language
347
348 Guile, Scheme and Neko were also considered.
349
350
351 Q: How can I help?
352 There are lots of ways. Here are some:
353
354 - Provide feedback on what works, what does not
355 - Tell us how task does or does not fit your workflow
356 - Tell people about task
357 - Report bugs when you see them
358 - Contribute to our Wiki
359 - Suggest features
360 - Write unit tests
361 - Fix bugs
362
363
365 Taskwarrior was written by P. Beckingham <paul@beckingham.net>.
366 Copyright (C) 2006 - 2011 P. Beckingham
367
368 This man page was originally written by P. Beckingham.
369
370 Taskwarrior is distributed under the GNU General Public License. See
371 http://www.gnu.org/licenses/gpl-2.0.txt for more information.
372
373
375 task(1), taskrc(5), task-tutorial(5), task-color(5), task-sync(5)
376
377 For more information regarding task, the following may be referenced:
378
379
380 The official site at
381 <http://taskwarrior.org>
382
383
384 The official code repository at
385 <git://tasktools.org/task.git/>
386
387
388 You can contact the project by writing an email to
389 <support@taskwarrior.org>
390
391
393 Bugs in taskwarrior may be reported to the issue-tracker at
394 <http://taskwarrior.org>
395
396
397
398task 1.9.4 2011-03-03 task-faq(5)