diff --git a/content/support/faq/faq.101.md b/content/support/faq/faq.101.md new file mode 100644 index 00000000..9a861340 --- /dev/null +++ b/content/support/faq/faq.101.md @@ -0,0 +1,19 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Filter only pending tasks + +I thought about using a virtual tag, but there is nothing like `+PENDING`. + +I have lots of recurring tasks that I want to delete in batch, but `task <taskname>` returns the completed ones, too and I don’t want to delete these. + +A: A `+PENDING` virtual tag is a good idea. It would make a nice feature request. + +A: Please try + +``` +task status:pending all +``` + +A: It is worth noting that most reports already have a filter that already includes `status:pending`, but the `all` report used here as an example has no filter, which makes it useful as an example like this. diff --git a/content/support/faq/faq.102.md b/content/support/faq/faq.102.md new file mode 100644 index 00000000..d7f65fdc --- /dev/null +++ b/content/support/faq/faq.102.md @@ -0,0 +1,11 @@ +--- +title: "Taskwarrior - FAQ" +--- + +### Q: How can I filter by project for the timesheet command? + +As far as I can tell, `task timesheet` has no way to filter which projects are reported on. +The obvious `task proj: projname timesheet` doesn't work. + +A: Sorry, the timesheet command does not support filters, and I think it should. +This would make a good feature request. diff --git a/content/support/faq/faq.103.md b/content/support/faq/faq.103.md new file mode 100644 index 00000000..19e8fde6 --- /dev/null +++ b/content/support/faq/faq.103.md @@ -0,0 +1,18 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Why are virtual tags better than direct attribute comparisons? + +(Great question copied from support email) + +For example, why should I do this: + +$ task +WEEK list +Instead of: + +$ task due.after:sow and due.before:eow list +It's shorter, but is it better? + +A: It's better because it is fewer character to type, and therefore less prone to error. +But it is identical. diff --git a/content/support/faq/faq.104.md b/content/support/faq/faq.104.md new file mode 100644 index 00000000..06ffc134 --- /dev/null +++ b/content/support/faq/faq.104.md @@ -0,0 +1,9 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How does `task log Do something` affect done/delete ratio? + +A: "task log Did something" would create the task and mark it completed in one step. + +It would affect your done/deleted ratio by adding one to the "done" (completed) pile. diff --git a/content/support/faq/faq.105.md b/content/support/faq/faq.105.md new file mode 100644 index 00000000..935add21 --- /dev/null +++ b/content/support/faq/faq.105.md @@ -0,0 +1,14 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How can I find the parent of a recurring task if no child is left? + +A: I think he means to find the recurring task if there are not any children with status pending. + +A: You can use the following to list all the parents: + +task all status:recurring +You can add more search terms as usual. For example, to find the recurring task to change your brita water filter: + +task all status:recurring brita diff --git a/content/support/faq/faq.106.md b/content/support/faq/faq.106.md new file mode 100644 index 00000000..884a34bb --- /dev/null +++ b/content/support/faq/faq.106.md @@ -0,0 +1,24 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How can I denotate all annotations at once? +Neither +``` +task denotate "*" 123 +``` +nor +``` +task denotate * 123 +``` +work for the task with id 123. + +A: There is currently to way to remove annotations in bulk other than using: + +``` +task edit +``` +and removing all the annotation lines. + +You could also write a helper script to remove all annotations. +Using the export command will make it easier to parse. diff --git a/content/support/faq/faq.107.md b/content/support/faq/faq.107.md new file mode 100644 index 00000000..69fc425c --- /dev/null +++ b/content/support/faq/faq.107.md @@ -0,0 +1,57 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How can I track my 'not to be done' list? + +A: As far as I know taskwarrior has no status that represents "not to be done". +In practice most people simply delete tasks that are no longer valid. + +Still, you can use existing functionality to provide such feature. + +One possibility is to set the task waiting till the end of days: + +``` +task add wait:someday Buy a private spaceship +``` + +Technically this would be waiting until 1/18/2038, but you get the idea. + +An alternative would be to create a project that holds all your "not to be done" tasks and that is never displayed in your default reports: + +``` +task add proj:wontdo "Do yesterday's dinner" +``` + +and then simply add: + +``` +default.command=next proj.not:wontdo +``` + +to your .taskrc file, or any variation using your preferred report. + +Then when you want to see these tasks, a simple: + +``` +task all proj:wontdo +``` + +will do. + +Another possibility is to create a TAG and explicitly filter based on presence or absence of said TAG: + +``` +task add +wontdo "Travel back in time to tell myself I was wrong" +``` + +and apply the same principle to the default command in .taskrc: + +``` +default.command=next -wontdo +``` + +Given all these possibilities, choose the one that you find easier to use and best suits you. + +PS: There may be better ways to specify default options. +I need to dig into that subject myself. diff --git a/content/support/faq/faq.108.md b/content/support/faq/faq.108.md new file mode 100644 index 00000000..46912bb5 --- /dev/null +++ b/content/support/faq/faq.108.md @@ -0,0 +1,19 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How can I assign a task to a project while creating the task? +For instance I recently did : + +``` +$ task project:todaysproject add pick up laundry +``` + +however when I list all tasks it shows that the task is not assigned to a project. + +A: The "project:todaysproject", when it appears before the "add" command is ignored. +Try putting the command first: + +``` +$ task add project:todaysproject pick up laundry +``` diff --git a/content/support/faq/faq.109.md b/content/support/faq/faq.109.md new file mode 100644 index 00000000..ae5cc25c --- /dev/null +++ b/content/support/faq/faq.109.md @@ -0,0 +1,68 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How do I remove duplicate UUIDs? + +If the command: + +``` +$ task diag +... +``` + +states that there are duplicate UUIDs, how do I remove them? + +A: As far as I know there is no automated way to deal with duplicate UUIDs. + +What follows is what I would do (did) in this situation. + +The first thing you should do if task diag identifies one or more tasks with the same UUID is to list those tasks by using the UUID. +If your UUID was 42687c6e-a5c5-45be-a6f5-5c26006abf24 then do: + +``` +task 42687c6e-a5c5-45be-a6f5-5c26006abf24 info +``` + +If they are identical it's likely that they got corrupted. +In this situation the only thing left to do is to "get rid" of the duplicates until there is none that is identical. +Read on how to fix them below. + +If the matching tasks are different, it's possible that they are still salvageable by assigning a new UUID that is not yet used. + +Fixing duplicates: + +Because taskwarrior uses UUIDs internally to match tasks, you won't be able to edit one task without affecting the other with same UUID. +In fact the first task found with given UUID will receive all changes. + +In general editing your .data files by hand is not recommended. +This is probably the one and only exception. + +With that said, make a backup of all the files in your $HOME/.task folder. +Then open all your .data files in a text editor (gedit, vim, emacs... not openoffice or such), search for the UUID using the editor's find function. + +In the case that the tasks are identical, simply remove one of them by deleting the whole line, until there are no more duplicates. +Save and run task diag again for confirmation. + +If on the other hand tasks are different, first find a UUID that is not taken. +Start by incrementing or decrementing the rightmost number. +Then confirm that no such UUID exists by running: + +``` +task NEW-UUID all +``` + +Once you are positive, change the UUID of one of the duplicate tasks by replacing it with the NEW-UUID. + +Repeat until no more duplicates exist. + +Wrapping up + +Now, if these duplicates have already been synced, you will also need to correct the database on taskd as well as on other clients. + +Taskd should have mechanisms in place to prevent creating tasks with duplicate UUIDs. +This information requires confirmation. + +As far as I know the duplicate UUID problem cannot be solved by manually crafting entries in the backlog.data file. + +I never had to go this far, but I can only envision a road with a lot of pain! diff --git a/content/support/faq/faq.110.md b/content/support/faq/faq.110.md new file mode 100644 index 00000000..2fe53eb6 --- /dev/null +++ b/content/support/faq/faq.110.md @@ -0,0 +1,30 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to set 'wait' until one day before 'due'? +Construction: + +``` +task 1 modify wait:due-1days +``` + +unfortunately doesn't work. + +A: Currently date expressions are not supported. +This means instead of: + +``` +wait:due-1days +``` + +You have to calculate 'due-1days' yourself. + +Beginning with taskwarrior 2.4.0, date expressions will be supported, and exactly what you described will just work. +Additionally, algebraic expressions will be supported in several places. +Here is an example from the dev branch, using the new 'calc' command: + +``` +$ task calc 20140430 - 1days +2014-04-29T00:00:00 +``` diff --git a/content/support/faq/faq.111.md b/content/support/faq/faq.111.md new file mode 100644 index 00000000..9d186ea6 --- /dev/null +++ b/content/support/faq/faq.111.md @@ -0,0 +1,40 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Sync not working! +Hello! + +I have installed task from Ubuntu repositories. + +task --version returns 2.2.0. +I want to sync it with the taskserver made available by mirakel. +So, I have added these lines to ~/.taskrc: + +taskd.server=azapps.de:6544 +taskd.credentials=XXXXXXXXXXXX +taskd.certificate=/home/YYYYYY/.task/client.pem +taskd.ca=/home/YYYYYY/.task/ca.pem +taskd.key=/home/YYYYYY/.task/client.key.pem +But task sync produces the error: + +$ task sync +[task next sync] +No matches. +task show produces the error: + +Your .taskrc file contains these unrecognized variables: + taskd.ca + taskd.certificate + taskd.key +Obviously, I am doing something wrong. But I am not able to figure out the error even after reading the documentation. + +Also, there is no 'Register' link on the Q&A forum. I could not ask this question there. + +Please let me know if you need any further information to troubleshoot. + +A: The sync command was only introduced in task 2.3.0. + +The reason you are getting those errors is because task 2.2.0 didn't have those settings. + +As for why it didn't complain about the sync command, it's because it was treated as a filter, effectively listing only tasks that have "sync" in the description. diff --git a/content/support/faq/faq.112.md b/content/support/faq/faq.112.md new file mode 100644 index 00000000..346394db --- /dev/null +++ b/content/support/faq/faq.112.md @@ -0,0 +1,61 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How do recurring tasks work? +How do recurring tasks work? (A guide to recurring tasks) + +A: This guide is written for task version 2.3.0. + +Due to inconsistencies and general lack of documentation, I thought it would be useful to write this, both as a personal reference and for others who need it. + +General Info +First, you should read this: https://taskwarrior.org/docs/recurrence.html It covers some basic information about recurring tasks. + +The mental model you should be working with is that, when you create a recurring task, you create a template from which little children task instances are spawned. +taskwarrior uses the due, recur, mask, and until fields to determine when to spawn children task instances. + +Change Propagation +This is one of the key ambiguities to understand when working with recurring tasks. +Currently, taskwarrior has certain bugs that contribute to this (See TW-1293 - Modifying or deleting a child task does not propagate if there are no siblings RESOLVED and TW-1294 - Modifying a child task does not propagate to parent RESOLVED ). + +Modifying a child task +When you modify a child task (includes the commands modify, prepend, append, annotate, and possibly others), taskwarrior will check if there are other child tasks (sibling tasks). +If there are, task will ask whether or not to propagate the changes to the other tasks. +if you choose yes, the changes will be propagated to the sibling tasks, but NOT to the parent task. +This means that child tasks that are spawned in the future will not have these changes. + +If you want to change all child tasks, including future ones, you should instead modify the parent task template. + +Modifying a parent task +When you modify a parent task, the changes will be applied to the parent task. +If there are any children, you will be asked whether or not to propagate the changes, and if you choose yes, the changes will be propagated as expected. +However, there is a special case (see next section). + +Changing recurrence period or start date +Due to how taskwarrior tracks the spawning of child tasks (using due, recur, mask, and until fields), trying to modify these attributes on the parent task template directly will result in weird behavior. +Thus, if you want to change due or recur (the start date or recurrence period), the best approach is to duplicate the parent task template, applying any needed changes, then delete the original task template. +This will also reset the mask on the new parent task, so taskwarrior knows what child tasks it needs to spawn. + +Deleting a child task +This is almost identical to modifying a child task (see above), HOWEVER, if you choose to propagate the deletion, the parent task WILL also be deleted, unlike with modifications. +Note that this prompt to propagate only appears if there are sibling tasks (i.e., at least one other child task, or more than one child task all together), so it is not a reliable way of deleting or stopping a recurring task template. + +Deleting a parent task +You can't do it directly. +The best way would be to modify the until field to a suitable date (try -1d if you're feeling lazy). +If there are any child tasks, you will be asked to propagate the changes, as per the modifying parent tasks section above. +Child tasks who have passed their until date will be expired and deleted. + +However, the parent task template will not be expired and deleted, though it will stop spawning children tasks. +That means that parent task "zombies" can accumulate in your tasks files, increasing task ID numbers and generally taking up room. +You can periodically clean up these tasks by running + +task status:recurring until.before:today ids +to get a list of IDs of dead parent tasks. +Actually removing the tasks is left as an exercise for the reader (since you can't delete them with taskwarrior, remember?). + +Ideas to try: write a script to delete the lines from ~/.task/pending.data, or delete the lines manually (ID numbers correspond to line numbers in pending.data. +Make sure you delete from the bottom up so the line numbers don't shift as you are working.) + +You can use this script to clean up expired task templates: https://gist.github.com/darkfeline/7d138198b68271a9f6fe Read the code to see what it does, and modify it if needed. diff --git a/content/support/faq/faq.113.md b/content/support/faq/faq.113.md new file mode 100644 index 00000000..7ea87b1d --- /dev/null +++ b/content/support/faq/faq.113.md @@ -0,0 +1,45 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to show tasks with active "wait"-date? +I have various tasks with a wait:-date in the future. Of course, these tasks are not shown in a regular task-list until the wait date matches current date. + +Now I want to review these waiting tasks, but I could not find a way to show them. +I tried "task wait:any" and "task wait.before:eoy", but I was not successful with this in task 2.3.0 + +Is there a way to do that? + +A: "wait.any:" and "wait.before:eoy" should both work. But there is a chance you also use the "list" report, which has a contradictory filter. + +A: There is a report for that, try + +task waiting +To be a little more exact, nearly all reports use filters to filter the tasks to be displayed. + +$ task show filter + +Config Variable Value +report.active.filter status:pending +ACTIVE +report.all.filter status.not:deleted +report.blocked.filter status:pending +BLOCKED +report.blocking.filter status:pending +BLOCKING +report.completed.filter status:completed +report.list.filter status:pending +report.long.filter status:pending +report.ls.filter status:pending +report.minimal.filter status:pending +report.newest.filter status:pending limit:10 +report.next.filter status:pending limit:page +report.oldest.filter status:pending limit:10 +report.overdue.filter status:pending +OVERDUE +report.ready.filter status:pending limit:page -WAITING '(scheduled.none: or scheduled.before:now )' +report.recurring.filter status:pending +CHILD +report.unblocked.filter status:pending -BLOCKED +report.waiting.filter status:waiting +WAITING +As you can see, the waiting reports uses the filter status:waiting +WAITING. + +If you want to see a raw report without any filters use task all. + +A: Dirk, that's a bug - "status:waiting" and "+WAITING" are redundant. I'll fix that. Thanks. + diff --git a/content/support/faq/faq.114.md b/content/support/faq/faq.114.md new file mode 100644 index 00000000..2695268c --- /dev/null +++ b/content/support/faq/faq.114.md @@ -0,0 +1,11 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How do I set a task to recur monthly but to be due on day 9 of a month? +How do I set a task to recur monthly but to be due on day 9 of a month? + +A: task add Fill tank of jeep SPECIAL +petrol due:2014-05-09 recur:monthly + +A: Or the simpler form: "due:9th" + diff --git a/content/support/faq/faq.115.md b/content/support/faq/faq.115.md new file mode 100644 index 00000000..ba6db760 --- /dev/null +++ b/content/support/faq/faq.115.md @@ -0,0 +1,17 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to sort a report by tasks' due-dates and then their descriptions? + +A: All reports have sorting defined. +For example: + +$ task show report.list.sort + +Config Variable Value +---------------- ------------------------------------------ +report.list.sort start-,due+,project+,urgency-,description+ +This shows the "list" report being sorted by descending start date, ascending due date, ascending project, descending urgency, and ascending description. +You have full control over report sorting, just override this setting. + diff --git a/content/support/faq/faq.116.md b/content/support/faq/faq.116.md new file mode 100644 index 00000000..85799d51 --- /dev/null +++ b/content/support/faq/faq.116.md @@ -0,0 +1,15 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How can I remove all colors from output? + +A: Use the color=off override, like this, to disable all color: + +$ task rc.color=off ... + +A: You can try do so: + +task | cat +For me, it clears all color. + diff --git a/content/support/faq/faq.117.md b/content/support/faq/faq.117.md new file mode 100644 index 00000000..762adfc5 --- /dev/null +++ b/content/support/faq/faq.117.md @@ -0,0 +1,11 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Is there a way to set a duration of task? +like: + +task add schedule:today duration:4day + +A: See User Defined Attributes. + diff --git a/content/support/faq/faq.118.md b/content/support/faq/faq.118.md new file mode 100644 index 00000000..103454ed --- /dev/null +++ b/content/support/faq/faq.118.md @@ -0,0 +1,26 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How can I prevent renumbering of tasks' ids? +After I have marked a task as complete or have deleted it, the ids of the remaining change. How can I prevent task of doing so? + +A: You can disable the renumber, but it's there for a reason, a very good reason, which is performance. +Without the renumbering, Taskwarrior response time will grow proportional to the total number of pending and completed tasks. + +See ID Numbers for details. + +A: I use the approach Paul describes to populate a count of items in my in bucket without renumbering tasks behind my back: + +task +in +PENDING count rc.gc=off 2> /dev/null +It's necessary to redirect stderr to prevent task from outputting this: + +Configuration override rc.gc:off + +A: A task disappeared from pending.data. Every time you run a command that displays task IDs, it first performs a garbage collect which moves tasks around between pending.data and completed.data, wakes up waiting tasks, and so on. You can append to your next task command the following: + +rc.gc=off +e.g. + +task list rc.gc=off + diff --git a/content/support/faq/faq.119.md b/content/support/faq/faq.119.md new file mode 100644 index 00000000..f156a604 --- /dev/null +++ b/content/support/faq/faq.119.md @@ -0,0 +1,16 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How can I filter for a text AND without specific due date (equivalent to google search -keyword)? + +A: Your question doesn't make much sense, since a task can only have one due date. +You can do + +task due.is:date1 due:isnt:date2 list +But again, that's just the same as using only the "due.is" filter. + +If you meant filtering the task description, you can similarly do + +task desc.has:foo desc.hasnt:bar list + diff --git a/content/support/faq/faq.120.md b/content/support/faq/faq.120.md new file mode 100644 index 00000000..6cb8f32d --- /dev/null +++ b/content/support/faq/faq.120.md @@ -0,0 +1,55 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How do I sort a report by tasks' due-dates and then their descriptions? + +A: Take a report, here the "list" report as example and modify it to meet your own requirements (expecially the variable called report.list.sort): + +$ task show report.list + +Config Variable Value + +report.list.columns id,project,priority,due,start.active,entry.age,description + +report.list.description Lists all pending tasks + +report.list.filter status:pending + +report.list.labels ID,Proj,Pri,Due,Active,Age,Description + +report.list.sort due+,priority-,start-,project+ +The new report is called "own": + +$ task config report.own.columns "id,project,priority,due,start.active,entry.age,description" + +$ task config report.own.description "Lists all pending tasks (sorted by due and description)" + +$ task config report.own.filter "status:pending" + +$ task report.own.labels "ID,Proj,Pri,Due,Active,Age,Description" + +$ task config report.own.labels "ID,Proj,Pri,Due,Active,Age,Description" + +$ task config report.own.sort "due+,description+" +Confirm every question with yes + +Are you sure you want to add 'report.own.sort' with a value of 'due+,description+'? (yes/no) yes + +Config file /home/ddeimeke/.taskrc modified. +Check the configuration + +$ task show report.own + +Config Variable Value +report.own.columns id,project,priority,due,start.active,entry.age,description + +report.own.description Lists all pending tasks (sorted by due and description) + +report.own.filter status:pending + +report.own.labels ID,Proj,Pri,Due,Active,Age,Description + +report.own.sort due+,description+ +Try it with task own + diff --git a/content/support/faq/faq.121.md b/content/support/faq/faq.121.md new file mode 100644 index 00000000..c68accf9 --- /dev/null +++ b/content/support/faq/faq.121.md @@ -0,0 +1,15 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: What should I never, ever do? + +A: Parse the data file yourself +Use Dropbox and assume that it merges tasks +Track time using Taskwarrior, until it actually supports that feature +Write a third-party script that ignores $(task --version) + +A: Never ever manipulate the data files with an editor or self-written scripts and programs. + +Note: I don't think that deserves a "never ever". I've modified the data files by hand (and by script) with no issues. A better qualification is "make sure you know what you're doing" and "don't complain if something breaks". + diff --git a/content/support/faq/faq.122.md b/content/support/faq/faq.122.md new file mode 100644 index 00000000..4407ee7b --- /dev/null +++ b/content/support/faq/faq.122.md @@ -0,0 +1,42 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to show tasks done today? +'m feeling stupid as it should be trivial. I've completed some tasks with: + + done + +And I want to get tasks I completed today. I tried: + + end:today list + + done:today list + + status:Completed list + +But none of them are showing anything. + + + +EDIT: I'm using tasksh + +UPDATE: See comments on Renato's accepted answer + +A: You can use one of: + +task com +task completed +to list tasks completed. + +The list report omits completed tasks by default, which is why you were not getting any completed task. + + + +As for selecting by completion date, filtering on end: is currently not listed in the man page but is supported as long as you use with an interval. + +The following examples should work: + +task com end.after:today +task completed end.after:today + diff --git a/content/support/faq/faq.123.md b/content/support/faq/faq.123.md new file mode 100644 index 00000000..30cb39bd --- /dev/null +++ b/content/support/faq/faq.123.md @@ -0,0 +1,12 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Which principles build the foundation for task? + +A: Open source is the best way to write software +Open formats like JSON don't restrict users +Flexibility with lots of features yields strange and wonderful real-world use-cases +Scriptability is good +Performance is important + diff --git a/content/support/faq/faq.124.md b/content/support/faq/faq.124.md new file mode 100644 index 00000000..18f4acf0 --- /dev/null +++ b/content/support/faq/faq.124.md @@ -0,0 +1,32 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: combine multiple conditions in filter + +I was trying to combine multiple conditions in the filter with and/ or between them. + +task project:P1 due.before:tomorrow sch.before:tomorrow works as expected. + +task project:P1 due.before:tomorrow or sch.before:tomorrow also works as expected. + +task project:P1 and "(due.before:tomorrow or sch.before:tomorrow)" returns an error -mismatched parenthesis in expression. + +I have tried escaping the brackets using " as shown above, single quote ' and a backslash \ in bash and zsh. + +The error is the same. + +What am I doing wrong and how do I set it right? + +A: You're not doing anything wrong, this looks like a parser bug. Adding a space before the closing ")" can be used as a workaround: + +task project:P1 and "(due.before:tomorrow or sch.before:tomorrow )" +If you want to see where Taskwarrior goes wrong, try running it like this: + +task rc.debug=1 project:P1 and "(due.before:tomorrow or sch.before:tomorrow)" +and notice how the closing ")" is assumed to be part of the schedule date. + + + +The good news is that this will "magically" be fixed in Taskwarrior 2.4.0, which comes with a new and more powerful parser. Still, you might want to open a bug report so Paul doesn't miss this as a potential test case before releasing 2.4.0 + diff --git a/content/support/faq/faq.125.md b/content/support/faq/faq.125.md new file mode 100644 index 00000000..1ef71a2d --- /dev/null +++ b/content/support/faq/faq.125.md @@ -0,0 +1,19 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: ERROR: '-2146375696' is not a valid date in the 'm/d/Y' format. +I receive this error in my taskd.log when syncing with Mirakel but haven't yet figured our what it caused. Apparently there is a task in 2038, at least I guess, because 2146375696 is the timestamp for 2038. + +Any ideas where/how to identify the faulty task and how to fix it? + +Thanks! + +A: Well, after investigating more and more, especially grep'ing through both local data and server data (tx.data) I found my faulty data which caused the error. I haven't figured out what caused the faulty data - who should be clear ... me Lächeln :) + +There was one task in tx.data (server) which had the following wait "19011226T163144Z" and after being "gentle" [1] to it, my problem seems to be solved. No more error messages and sync works again just fine. + +[1] "gentle" in terms of deleting everything from tx.data that belongs to the faulty task. + +A: That 1901 date will do it. I wonder how that got there. + diff --git a/content/support/faq/faq.126.md b/content/support/faq/faq.126.md new file mode 100644 index 00000000..701b4ec5 --- /dev/null +++ b/content/support/faq/faq.126.md @@ -0,0 +1,30 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Possible to have scheduled/wait values persist? +Perhaps if I explain my workflow using another task system my question will make more sense. + +My primary task view that I work from, my $(task next) as it were, is to group by priority, sort by priority descending, sort by start date with overdue fading off the bottom, and I filter out start dates in the future. Mentally, the start date for me is the soonest date that I'd consider working the task. I work primarily from the priority and my start date fields, with due being used minimally and only for externally imposed hard deadlines. + +In taskwarrior, it seems the fields I'd use are either scheduled/waiting. I've tried doing such things as: + +report.foo.sort=priority-,scheduled-,description+ +report.foo.filter=scheduled<tomorrow or scheduled:none +I've also tried with the waiting field. In both cases, it appears that taskwarrior removes those values as soon as the target time passes, and changes the status from scheduled/waiting to pending. + +Is there any configuration that would enable me to keep those data values after the time passes so that I can still use it in reports? I'm open to any other suggestions as well to get a configutation to fit my workflow. + +A: This might just be a terminology problem. +Have you applied a 'scheduled' date to your tasks? + +Take a look at this page, and verify that the meanings of scheduled, start, due and wait match your expectations: + +Glossary of Terms + +The glossary is not (yet) complete, but it does contain definitions for all the dates associated with a task. + +A: I think the real problem was incomplete testing and a messed up filter on my part. I've got my first report roughed out now. % cat .taskrc | grep mySchedule report.mySchedule.description=My Task Report report.mySchedule.columns=id,priority,scheduled,description report.mySchedule.labels=ID,PRI,Schedule,Description report.mySchedule.sort=priority-,scheduled-,description+ report.mySchedule.filter=end:none and (scheduled.before:now or scheduled:none) I'll just have to clean up the formatting and coloring a bit and rewrite most of the built-in reports to be scheduled-centric instead of due-centric, then I'll be able to cut the tether with my old task system. I'm really hoping that $(task next) weighting system will work well using a scheduled-centric paradigm. Are the built-in reports (the exact filters, columns, sorting, etc used for each) documented anywhere? + +A: the builtins are not documented as such, but you can see all the details with, for example: {noformat} $ task show report.list ... {noformat} + diff --git a/content/support/faq/faq.127.md b/content/support/faq/faq.127.md new file mode 100644 index 00000000..dcee7183 --- /dev/null +++ b/content/support/faq/faq.127.md @@ -0,0 +1,30 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q:How can I add tasks in batch mode? +I want to add a text file with a list of tasks in its task's syntax via a single command: + +Water the plants. pro:garden recur:3days due:tom +Bring car to the workshop. due:eow +Fill out tax declaration. due:20140514 +Call Tom re. idea +1 123 45678 sched:tom +... +How can I do that? + +A: Another variant which could be done as function as well. + +sed 's/^/task add /' my_task.txt | $SHELL + +A: Your task list is delimited by new lines, so we can use bash's default IFS. + +Add the following function to ~/.aliases (ensure it is sourced by your shell). + +function tbatch() { while read -r task; do (task add "$task"); done < "$1" } +Start your shell anew and try it: + +tbatch my_tasks.txt + + +This does not check against valid syntax. Any invalid line is not being added by task (see the output for details). + diff --git a/content/support/faq/faq.128.md b/content/support/faq/faq.128.md new file mode 100644 index 00000000..1d4b042d --- /dev/null +++ b/content/support/faq/faq.128.md @@ -0,0 +1,53 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Sort on due or scheduled + +I want tasks sorted in the increasing order of due or scheduled date. + +So, task due on 2014-05-06 is followed by the task scheduled on 2014-05-07 is followed by a task due on 2014-05-08, etc. + +Any way to accomplish this? + +A: So you want ascending order, not descending order of due dates. +Whichever report you are referring to (you didn't mention) has a sort order defined. +Look at the sort order with this: + +$ task show report.WHICHEVER +... +You will see a sort order like this: + +report.WHICHEVER.sort=...,due-,... +Just change that 'due-' to a 'due+' to reverse the sorting on that field. + +You might be interested in the Report Tutorial. + +A: it is not just ascending or discending. I want to sort on due date OR scheduled date. + +Let me explain: + +task1 due:2014-05-07 + +task2 sch:2014-05-08 + +task3 due:2014-05-09 + +task4 sch:2014-05-10 + +If I sort on: + +due+,sch+, I will get: + +task1,task3, task2, task4 + +I want to get: + +task1, task2, task3, task4 + +A: I see. That's not supported. I'm not sure it even makes sense. + +A: in certain workflows (mine, for instance), it does make sense :) I wish I could use a filter that says (due OR sche)+ + +A: You can - a filter is a different animal than a sort. + diff --git a/content/support/faq/faq.129.md b/content/support/faq/faq.129.md new file mode 100644 index 00000000..cde1204e --- /dev/null +++ b/content/support/faq/faq.129.md @@ -0,0 +1,20 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Can I add due date to blocked task: "30 days after blocking task is done"? +I have two tasks. Task A is blocking task B. Task B could be started only after completing task A, and it will take some time to complete. I would like to automatically add due date to task B (30 days for example) after task A is complete. Is this possible? + +A: Short answer: +Not at the moment and not automatically. + +Long answer: +A similar feature has been discussed but is pending an official proposal. Informally said feature has been called "event hooks". They would allow setting up certain actions to occur at certain moments such as, after completing a task or after modifying a task, once all tasks in a project are finished, etc. +However, I think the scenario you mention would not be solved by this because the current discussion is going towards a global scale (e.g. completing any task creates a pop-up) and not a per task basis (completing task 12 rings a bell, while task 20 fires up a browser). + +If you know the code versioning tool Git, the "event hooks" that I'm talking about will be similar to the hooks on this tool. + +So as of now Taskwarrior doesn't support triggering events, even less events that affect other tasks. + +This has been added as a feature request. + diff --git a/content/support/faq/faq.130.md b/content/support/faq/faq.130.md new file mode 100644 index 00000000..31503fb9 --- /dev/null +++ b/content/support/faq/faq.130.md @@ -0,0 +1,18 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to add 'active' filter in complicated query? +If I do so: + +task due.before:3d or priority:H or active +I have such response: + +There are not enough operands for the 'or' operator. + +A: "active" is a report and not a filter. + +Try + +task \( due.before:3d or priority:H \) active + diff --git a/content/support/faq/faq.131.md b/content/support/faq/faq.131.md new file mode 100644 index 00000000..437ed7a2 --- /dev/null +++ b/content/support/faq/faq.131.md @@ -0,0 +1,28 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Is it possible to specify urgency when no project is assigned ? +The idea behind this question is when you quickly add a task (just not to forget it), but don't have the time to classify it precisely (with tags and or projects) + +This way when task next is launched, the "new and unspecified" task jumps to the top of the list so that I can classify them in priority (once correctly classified, they will drop at their expected urgency level) + +A: Taskwarrior calculates "urgency" based on several values called coefficients. + +These can be listed using task show coeff and by reading the manpage man taskrc. + +Given that the coefficients are designed to *raise* the urgency of tasks that have additional metadata (has tags, has project, has due date, ...), you cannot start with high urgency and then lower it by adding metadata. This will cause tasks with more metadata to have lower urgency than those with less metadata. + +Another more functional solution is to create a set of preset reports that only show tasks that are missing certain information or that require reviewing or additional details. + +For instance, add this to your .taskrc: + +report.review.columns id,description +report.review.labels ID,Description +report.review.description Lists tasks the most urgent tasks +report.review.sort id+ +report.review.filter proj: tags: due: pri: (add more filters here) +and customize the report.review.filter line to match what you consider new and unspecified tasks. + +Then you can simply run task review to list tasks that require further metadata processing. + diff --git a/content/support/faq/faq.132.md b/content/support/faq/faq.132.md new file mode 100644 index 00000000..b1f2c2aa --- /dev/null +++ b/content/support/faq/faq.132.md @@ -0,0 +1,15 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Why the date "18 January 2038" with :later or :someday? +I would like to know what is the significance of the date "18 of January of 2038" which is issued when :later or :someday is used, in particular with wait. + +Is there something that the taskwarrior developers know about the future that we don't? + +A: The simple answer: This date is the most far in the future date that can be represented safely on a computer. + +The technical answer: This is a software limitation of how dates are represented in today's computers, in particular in Unix based systems. If you have heard about the 2000 year bug, well there's another one in 2038. This Wikipedia article explains it really well. + +A: At some point we'll keep stored dates in ISO form, not 32-bit epoch form, which will allow any date. It is also possible that we use 64-bit time_t. But not yet. + diff --git a/content/support/faq/faq.133.md b/content/support/faq/faq.133.md new file mode 100644 index 00000000..d9c496b7 --- /dev/null +++ b/content/support/faq/faq.133.md @@ -0,0 +1,16 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Change start time +Hello All, I forgot to start some tasks and therefore would like to modify the start time of those. Is it possible? + +Thanks for the great work! + +A: how is this with version 2.5.1 (unfortunately I cant use Timewarrior with Taskwarrior) + +task 54 mod start:161213_0700 +works (with dateformat yMD_HN), regardles if the stask is active or non-active, thats nice. + +But `task 54 mod stop:161213_0710` does not work. How can that be done? + diff --git a/content/support/faq/faq.134.md b/content/support/faq/faq.134.md new file mode 100644 index 00000000..78419bf8 --- /dev/null +++ b/content/support/faq/faq.134.md @@ -0,0 +1,24 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How can I write a test for task? + +A: Copied from TW-1334 (pbeckingham): + +Here is the basic form: + +1) Learn Python +2) Learn Python unittest +3) Take a look at how taskwarrior.git/test/basetest works +4) Take a look at the existing Python unit tests (grep -l python *.t) and write your own +5) Submit the code patch + +The unit tests are all of the same structure - set up an rc file, add/manipulate data, check results, remove temp files. + +A: Clone the code repository, build and run the test suite, and get familiar with the way we do things. +Look at the Python tests specifically, as we are only accepting new test scripts in Python. +There is documentation on running the tests: + +https://taskwarrior.org/docs/build.html + diff --git a/content/support/faq/faq.135.md b/content/support/faq/faq.135.md new file mode 100644 index 00000000..7fad65b6 --- /dev/null +++ b/content/support/faq/faq.135.md @@ -0,0 +1,43 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Can you use whitespace in project names? + +When I try to set a project name containing whitespace, task tries to set the project name to the first whitespace-separated token and then replace the existing task description with the rest of the string. Example: + +$ task 19 modify proj:"Max Bedroom" +- Description will be changed from 'Research blinds for Max's bedroom' to 'Bedroom'. +- Project will be changed from 'max_bedroom' to 'Max'. +Modify task 19 'Bedroom'? (yes/no) +I'm assuming at this point that this is by design, but wasn't able to find anything substantiating this in the docs, so I thought I'd throw the question out here. If I can't use whitespace in the project description, is there another way to add some additional descriptive text to a project? + +A: On the project description itself: + +I think it's a bug. +Work around it via changing the project text it in an editor: +task 19 edit +On adding additional information: + +There are no project annotations. + +However, you are free to create a placeholder task which holds additional information. May it just be the projects goal: + +task add ">> Redesigned Garden" pro:Garden +goal # 1. +task config urgency.user.tag.goal.coefficient 100.0 # 2. +task config color.tag.goal rgb550 on magenta # 3. +task 19 ann "Budget: 5kEUR" # 4. +task 19 ann "DIY superstore is open: Mon-Sat 8000-2000" +task 19 ann "Peter is available on next two weekends." +task 19 ann "Inspiration: https://www.gardensillustrated.com" +Let's add a task, assign it to project Garden, tag it with goal. +Configure task to rank goals at top by giving it a high urgency, see https://taskwarrior.org/docs/urgency.html. +Tell task that I want it YELLOW on magenta. +Add some annotations. +You may end up with something like the following: + + +Is this a qualified answer to your question? Kindly note if I have misunderstood you in any point. + +Have I been able to help you solving your problem? + diff --git a/content/support/faq/faq.136.md b/content/support/faq/faq.136.md new file mode 100644 index 00000000..f97c5d4c --- /dev/null +++ b/content/support/faq/faq.136.md @@ -0,0 +1,64 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Are subtasks possible + +I like to divide tasks into smaller subtasks. I normally maintain a normal text file for my todos. An example would be like this: + +# Every line just contains a single todo +# Subtasks are intended with 4 spaces + +clean your apartment + clean the bathroom + mop the floor + decalc faucet + clean the shower + clean the toilet + clean the kitchen + clean countertop + remove dust + mop floor + vacuum floor + clean your desk + remove dust + clean surface + clean bedroom + change sheets + vacuum floor + clean living area + vacuum floor + +In Taskwarrior I tried to create projects and subprojects, but only the subprojects have tasks via this system. The Project would be "Clean your apartment" and the tasks "Clean the bathroom" or "Clean the kitchen" would be subprojects. + +The "task report summary" command shows a good summary, but I think I am overseeing a way to handle my case. + +A: The way Taskwarrior implements subtasks is by creating tasks that depend on other tasks, effectively making one a subtask of the other. + +You can define a task to be dependent on another by using the depends: filter like so. + +task add Subtask A +task add Subtask B +task list + +ID Description Urg +-- ------------ ---- + 1 Subtask A 1 + 2 Subtask B 1 + +task add depends:1,2 Parent task +task list + +ID D Description Urg +-- - ------------ ---- + 1 Subtask A 9 + 2 Subtask B 9 + 3 D Parent task -4 + +task list -BLOCKED + +ID Description Urg +-- ------------ ---- + 1 Subtask A 9 + 2 Subtask B 9 + diff --git a/content/support/faq/faq.137.md b/content/support/faq/faq.137.md new file mode 100644 index 00000000..c98e48b3 --- /dev/null +++ b/content/support/faq/faq.137.md @@ -0,0 +1,27 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How can I find out where tests are needed? + +'d like to contribute to Taskwarrior by writing tests. + +Where can I find what to do and what part of the code needs testing? + +A: In addition to unittests (low level), both taskwarrior and more recently taskd follow a policy of having tests for every valid bug report. These work both as integration (ensure user experience matches expectations) as well as regression tests (ensure that we don't re-introduce bugs that were there before). + +With that said, the best way to find out where tests are needed is to search the Issue tracker for reports that either have the needsTest label (you can use this link) or that present a problem/bug with a reproducible scenario that needs to be converted to a testCase (these should also be given the needsTest label). + +Once the test is attached to the bug report, the label hasTest should be added and needsTest should be removed. You can see some examples of what I'm talking about here. + +A: Renato's answer is the right one. +But here is another suggestion, which is slightly lower on the difficulty scale, but still very valuable: + +If a bug/feature doesn't have a hasTest label, then it obviously needs a test. +But before it has a test, it needs a good, clear, minimal example. +The idea here is that it can be difficult to convey what the problem is, using language, but it more precise using commands. +Coming up with one or two commands to illustrate the problem, and therefore what the test should cover is a great way to contribute without writing Python. + +For example, take a look at the commands Benjamin added to TW-1334 - task mod description:"word1 word2" fails to handle space RESOLVED . +Those make it very clear what the problem is, and form a great basis for writing a unit test. + diff --git a/content/support/faq/faq.138.md b/content/support/faq/faq.138.md new file mode 100644 index 00000000..f415a843 --- /dev/null +++ b/content/support/faq/faq.138.md @@ -0,0 +1,13 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to annotate to a project? +Can I add an annotation to an entire project instead of its tasks individually? + +A: You can add the same annotation to each task in a project like this: + +$ task project:WORK annotate ... +But you cannot directly annotate the project, because it does not exist - it's just an attribute of tasks. +The project is itself not an entity. + diff --git a/content/support/faq/faq.139.md b/content/support/faq/faq.139.md new file mode 100644 index 00000000..3df6c4bd --- /dev/null +++ b/content/support/faq/faq.139.md @@ -0,0 +1,18 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to add an event? +How can I add an event that will occours some day. E.g. I have a test in the day 06, so instead of add it as a task how could I add this event in the taskwarrior for it appears in the callendar but doesn't appear in the task list? + +A: Find out which dateformat for holidays you are using: + +$ task show dateformat.holiday + +Config Variable Value +dateformat.holiday YMD +and add dates accordingly. + +$ task config holiday.sysadmin.date 20140725 +$ task config holiday.sysadmin.name "System Administrator Appreciation Day" + diff --git a/content/support/faq/faq.140.md b/content/support/faq/faq.140.md new file mode 100644 index 00000000..631ba488 --- /dev/null +++ b/content/support/faq/faq.140.md @@ -0,0 +1,9 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: how can I make task conform to the XDG Base Directory Specification? +Whether or not taskwarrior should conform the XDG Base Directory Specification has been debated for years, and while it's possible to make it conform, it's arguable whether the developers should do so, for the general release. That said, if I wanted to follow the conventions for MY install of taskwarrior, how would I go about it? + +A: Essentially, you're talking about relocating the .taskrc file and .task directory, correct? If so, the task man page mentions the TASKRC and TASKDATA environment variables. Add them to your shell's .profile, .bashrc, or equivalent, and you should be all set. + diff --git a/content/support/faq/faq.141.md b/content/support/faq/faq.141.md new file mode 100644 index 00000000..0bf62d28 --- /dev/null +++ b/content/support/faq/faq.141.md @@ -0,0 +1,14 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Can I add a start date to each recurring task? +Is it possible to set the start date of a recurring task to the date that the task is due? + +A: You can do this now, but only using shell tricks. +For example: + +$ task 123 modify start:$(task _get 456.due) +This is untested, but serves to illustrate that there are ways to manipulate data in the shell that are not available inside Taskwarrior. +The upcoming 2.4.0 release will greatly improve this and will support what you are looking for - stay tuned. + diff --git a/content/support/faq/faq.142.md b/content/support/faq/faq.142.md new file mode 100644 index 00000000..9229d616 --- /dev/null +++ b/content/support/faq/faq.142.md @@ -0,0 +1,25 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to share a task between users? +Or... is it "Organization" parameter in user creation useful at the moment? + +Here: https://taskwarrior.org/docs/server_user.html + +... says: "Before creating a user account, you may need to create an organization. An organization consists of a group of zero or more users. You can get away with just one organization, and in this example, we will create just one, named 'Public'. + +You can create as many organizations as you wish (even one per user), and the purpose is simply to group users together. Future features will utilize this" + +Is it actually possible to view/edit task of different users? + +Task can be edited by people in the same organization or in the same project? + +Cheers and thanks for the nice work + +A: The key phrase there is "Future features will utilize this". +Taskserver will gain the ability to create shared lists (groups), and to transfer tasks between users. +But not yet. + +If you wish to share a task list now, you need to put the files in a common location, with read/write access to all, and hope that every client enables file locking. + diff --git a/content/support/faq/faq.143.md b/content/support/faq/faq.143.md new file mode 100644 index 00000000..902e5b73 --- /dev/null +++ b/content/support/faq/faq.143.md @@ -0,0 +1,17 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How does task id numbering work and how do I keep them below 1000? +I have quite a few recurring tasks, several daily ones which are responsible for bumping up the task id number each day. + +I'm hoping you can ELI5 how the task id's increment in light of recurring/completed/deleted tasks. + +Also how do keep the number relative to the number of actual tasks? ie, at the moment I have 266 tasks but the numbering is over 300/ + +A: Take a look at the online docs: https://taskwarrior.org/docs/ids.html + +Short answer: 'id' is the line number inside the pending.data file. +To keep task IDs under 1000, keep the number of pending, recurring and waiting tasks under 1000. +The discrepancy between the 266 and 300 are the hidden tasks, which are those with a wait date, and the recurring template tasks. + diff --git a/content/support/faq/faq.144.md b/content/support/faq/faq.144.md new file mode 100644 index 00000000..d74c2e35 --- /dev/null +++ b/content/support/faq/faq.144.md @@ -0,0 +1,50 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Batch delete by tag or description. +The issue I have with recurring tasks is how many of them show up and how they seem to multiply like rabbits. + +Can I delete all recurring tasks containing a certain description or a tag in one swoop, instead of deleting them by id? + +The other problem is when I batch delete it asks me if "Do you want to delete all pending recurrences of this same task?" So if I'm deleting 200 tasks, I have to one by one say no or it will delete the parent recurring task. +Is there a work around for this? + +Sorry if my questions are a little confusing. +Let's say I have a daily recurring task called " take out garbage". + +task add take out garbage recur:daily due:today +garbage. +This creates a child task today, tomorrow and the next day, etc. +Several days later if I haven't been deleting the children tasks I'll have 10 or so tasks that I need to delete. One way to do it is one by one: + +task 124 125 126 127 128 130 del + +Permanently delete task 124 'take out garbage'? (yes/no/all/quit) a + +Deleting task 124 + +This is a recurring task. +Do you want to delete all pending recurrences of this same task (yes/no) +If I answer yes to this, then it deletes all of the tasks AND the parent task. +This is not what I want, so I have to select "no" for each task one by one to prevent the parent task from being deleted. +Kind of a drag. + +What I'm asking is if there's a better way. +Say, deleting all recurring instances of a task by tag instead of having to specify each task id, without deleting the parent task? + +A: Maybe you have to understand a basic concept. + +In case you want to delete by tag or description, you should take a look, which tasks match your filter: + +task +tag all +The "all"-report does not have any filters applied to the resultset of "task +tag", it shoes the tasks your query would delete if you replace "all" with "delete". + +So maybe the result of + +task +tag status:pending all +is more like the resultset you wish to delete. + +You can find the parent tasks with + +task +tag status:recurring all + diff --git a/content/support/faq/faq.145.md b/content/support/faq/faq.145.md new file mode 100644 index 00000000..b86fd997 --- /dev/null +++ b/content/support/faq/faq.145.md @@ -0,0 +1,45 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Task Organization for offroad fabricators + +Hello fellow taskwarrior users, + +So at the weekends I am building an offroad truck and taskwarrior is great for it, but now I want to step it up. + +This project is very dependency heavy since most of the tasks need others to be completed, the biggest difficulty its to manage the parts (and tools) need to do certain tasks. Right I do the independently of the taskwarrior project i have some sets of tags like buy and them a tag for the name of the store. But the organization is not enough because i always get delays on parts and I would like to be more on top of it. So this is both a methodology and technical question. Some problems. I don't know which supplier has or can give me the part, and most the times, they don't know it either, they need to check up their suppliers which may not respond and they may not respond and I always have to keep reminding like: "Hey is my part X there? Price? when can I pick it up?" And this gets very repetitive and most of the times i forget and can't get the part of group of parts in a decent timeframe. + +Before this wasn't so much of a problem because I had a bazillion stuff to do, and if i got got blocked on a task i would just do another thing, not so much now and always seems to get locked on my tasks due to a freaking missing part or tool, and the suppliers are closed on weekends, the best thing is that i can do is order the part (send them an email) them call them on monday to remind them to check their email, then call them on friday to check if they already have the part so I can go there and pick it up on saturday morning. +How can see how can this can be very tedious. I would like to optimize this with taskwarrior, to right know i have a task like "Needs part X" with the tags +buy +suppliername on it,and the tasks that use this part depend on it. So on the final of the sunday i do task +buy and send emails to the suppliers. + +How can I improve this? + +How to deal with supplier querying process to see if they have the part or not ? + +How to improve my reminders and delays? + +How can I bring online parts into play? + +Can I add some sort of price so I can budget the parts and my monthly income to best order the ones that i need first? Please any advise is welcome. + +A: Hi there Alfredo, + +It seems to me that you are trying to squeeze too much "methodology" into taskwarrior going beyond the uses for which taskwarrior was designed. + +I'd say that the budget aspect of your workflow is outside the scope of taskwarrior. You will need some extra tool for this. This tool could build on top of taskwarrior, but it's not something for which taskwarrior provides easy to use tools. + +Regardless, you can use UDAs to store this information but you will need to use some external way to process this data into something useful. + +As for waiting for suppliers, you can simply create a task "Check supplier for product X" and have "Buy product X" depend on the first. After this you can use the wait: functionality and a combination of project/priority/tags/... to have these tasks show up on your list with high priority when the time comes. + +You use wait: like this: + + task add wait:5d "Check supplier for product X" +which will add and set this task to be hidden from your task list and show up again 5 days from now. + +With existing tasks you can use: + +task task_id mod wait:5d +to have the task show up 5 days from now. + diff --git a/content/support/faq/faq.146.md b/content/support/faq/faq.146.md new file mode 100644 index 00000000..b76b3606 --- /dev/null +++ b/content/support/faq/faq.146.md @@ -0,0 +1,25 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Modifying End Dates +Some days I forget to log the "extra" tasks that I picked up and completed throughout the day. +The next morning, I wish to log these tasks as completed on the previous day. +I can'tfigure out the syntax for these. +I have tried + +log "task desc." done.yesterday + +complete.yesterday + +mod complete.yesterday + + + +How do I make this happen? + +A: Try this: + +$ task log "task desc." end:yesterday +Taskwarrior will warn you, but that is just a warning. + diff --git a/content/support/faq/faq.147.md b/content/support/faq/faq.147.md new file mode 100644 index 00000000..7a27b49a --- /dev/null +++ b/content/support/faq/faq.147.md @@ -0,0 +1,49 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to go back in time? Or: Reverting your messed up database! + +I just tested the current beta of Mirakel which supports better handling of recurring tasks but apparently it messed up my database which led to a huge duplication of already completed tasks and some other stuff. + +However, I was just wondering: How to back in in time? Al those nasty changes, I do not want to keep them, I'd love to have my database from yesterday back. Any idea? + +taskd 1.0.0 and task 2.3.0 + +A:Using beta software without first making a backup of your data leads to ... exactly this kind of problem. +Let's assume you have learned your lesson. +Without further lecturing, here is the recovery process: + +1. Make sure that you have reported any software issues to the respective teams - if there are bugs, they will be fixed, after all, that's what beta is for, and people are standing by, waiting for the bug reports to roll in. +You can help prevent this from happening to someone else. +2. Make that backup now. +This should include your Taskwarrior data (typically in ~/.task) as well as your Taskserver data (there are no defaults for this, so wherever you chose to store the data). +This will protect you from further problems. +3. Locate your tx.data file in the Taskserver data. +Look at it. +You'll see entries that are tasks, punctuated by UUIDs, like this: + +[...] +[...] +a35e0867-d330-47a8-a0c9-8b3b6d4c2cba +[...] +[...] +[...] +47d60f5e-43f0-46f6-8825-0e26bcff807a +There are blocks of tasks, followed by a UUID - a block of tasks is always followed by a UUID. + +4. The tx.data file is a complete list of changes made, in order from top to bottom. +The UUIDs in the file are the points where a "sync" command transferred data. +Go through the data and find the blocks you want to revert. +They should be the blocks at the bottom of the file. +Remove the UUID at the bottom of the file, and the preceding block of tasks. +This should leave a different UUID at the bottom of the file. +Repeat if necessary. +You can use the "modified" attribute in the tasks to help identify which ones need to be removed. +5. When done, go to your client machine and delete the ~/.task/*.data files. +Don't worry, because you made a backup. +6. Run "task sync" and all your data should be pulled down from the server. +Take a good look at your tasks. +7. If there is a mistake, restore from your backup and repeat from step 3. +8. Once you are satisfied, make another backup. + diff --git a/content/support/faq/faq.148.md b/content/support/faq/faq.148.md new file mode 100644 index 00000000..abcd8bc2 --- /dev/null +++ b/content/support/faq/faq.148.md @@ -0,0 +1,18 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Is it possible to color all task having a specific tag? + +Is it possible to color all task have a specific tag? + +I know I can colorize tasks having tags (e.g. task config color.tagged grey225). + +In my case it would be nice to have tasks tagged with "foo" colorizied in different color that other tagged tasks. Can this be done in task 2.3.0? + +A: Sure, just create several rules like this: + +task config color.tag.foo grey225 +task config color.tag.bar red +See 'man taskrc' for full details. + diff --git a/content/support/faq/faq.149.md b/content/support/faq/faq.149.md new file mode 100644 index 00000000..dab6ce4e --- /dev/null +++ b/content/support/faq/faq.149.md @@ -0,0 +1,18 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: What is the best way to manage appointments in taskwarrior? + +An appointment shall be characterized by a start date and time, and an optional duration. + +The appointment should appear in some reports and/or calendars. + +Appointments should be ordered by start date/time. + +A: Even if it is pretty close: Taskwarrior is not a calendar it is a "ToDo List on Steroids". + + + +Nevertheless it is possible to give tasks an due timestamp consisting of date and time. To separate it from "normal" ToDo-items I recommend setting a tag like (say) +appointment, which makes filtering pretty easy. Tasks with due dates are shown in reports and calendars and are ordered by date and time. + diff --git a/content/support/faq/faq.150.md b/content/support/faq/faq.150.md new file mode 100644 index 00000000..498ae349 --- /dev/null +++ b/content/support/faq/faq.150.md @@ -0,0 +1,16 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: There is Taskjuggler integration? + +Taskjuggler is a project manager that can manage resources, milestones, costs and tasks, and can also show reports in several formats (like gantt charts) + +Well... Taskwarrior is good for manage task, but its project management is poor (projects works like simple tags in some tasks). But Taskjuggler has an awesome project management. + +So, there is a way to integrate taskjuggler and taskwarrior to, for example, have the tasks from a project in taskjuggler being listed in taskwarrior? There is a plugin or something? + +A: If it's not listed on the Tools official page it's either not known to taskwarrior developers or it doesn't exist yet. + +With that said, if you are after integration with Taskjuggler or any other tool, I suggest you start by reading the 3rd-party integration guidelines. + diff --git a/content/support/faq/faq.151.md b/content/support/faq/faq.151.md new file mode 100644 index 00000000..fb13864e --- /dev/null +++ b/content/support/faq/faq.151.md @@ -0,0 +1,46 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: information about coding style + +Hi. + +Is there somewhere information about the coding style for the different programming languages used? + +I only found + +Expect feedback … because you violated the coding style + +and I've got. + +In this case it was Perl. So I tried matching the output of perltidy to an existing file. + +perltidy -bl -i=2 -pt=2 -skp -sfp -lp -vt=2 -vtc=2 import.t +This got me close, but the line breaks don't match. Playing with -l=n fixed it at one place, but broke it at an other. + +As I'm not a perltidy expert there might be much better options to control the function parameter list or if expression list. + +Or is there some formatting only done by eye or smell? + +Any tips are highly appreciated, not only for Perl. + +Thanks + +A: You're absolutely right - there is nothing written down, and it's done partly by smell. +I was hoping to avoid the need to write down coding conventions by language, by making the coding standard this: + +Make all changes and additions such that they blend in perfectly with the surrounding code, so it looks like only one person worked on the source, and that person is rigidly consistent. + +That's the general guideline, but to be more explicit about it, here are some of the rules: + +Use 2 spaces to indent, and no tabs +Surround operators, expression terms with a space +Stick to an 80 column maximum where possible, although exceptions for readability are fine, if limited +No cuddled braces +I will add a page to the site, containing the above, and we can develop it further, as needed. + + + +Edit: https://taskwarrior.org/docs/coding_style.html + diff --git a/content/support/faq/faq.152.md b/content/support/faq/faq.152.md new file mode 100644 index 00000000..6d2d5a35 --- /dev/null +++ b/content/support/faq/faq.152.md @@ -0,0 +1,32 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Prevent modify all tasks + +When "mod" is typed before a task it asks "This command has no filter, and will modify all tasks. +Are you sure?" + +Seeing as I can't forsee a situation where I'd want to modify ALL tasks and it's a little dangerous even with it asking first (people make mistakes when they're in a hurry) , how can I prevent it from allowing this completely? No yes or no, it just says: + +$ task mod 456 blah blah blah + Nope, try again. + +A: You could use a simple shell function to check the first parameter. + +task () { + if [[ $1 == "mod"* ]]; then + echo "Nope, try again." + else + command task "$@" + fi +} +This will work in zsh and bash. If you use a different shell, you might need to change the string compare. + +A: This is great observation. +I have added a new configuration setting in 2.4.0 that turns this warning into a fatal error. +You'll be able to specify: + +allow.empty.filter=no +which will cause taskwarrior to simply fail when a write command with no filter is run. + diff --git a/content/support/faq/faq.153.md b/content/support/faq/faq.153.md new file mode 100644 index 00000000..55c70c69 --- /dev/null +++ b/content/support/faq/faq.153.md @@ -0,0 +1,26 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Sort by date modified + +How can I sort the tasks by date modified? + +A: You could define a report. + +Btw. if you name the report mod as in this example, you have also a solution for your other question. Instead of Nope, try again. you will get (most likely) No matches. + + A simple one would be + +task config report.sortMod.columns id,modified,description +task config report.sortMod.description sort by date modified +task config report.sortMod.filter status:pending +task config report.sortMod.sort modified- +If you use for the sort qualifier modified+, you will get the oldest task at the top of the list. To get the report type + +task sortMod + +A: You can also use a one-time override for this, although creating/modifying a report is the correct answer: + +$ task rc.report.list.sort=modified- list + diff --git a/content/support/faq/faq.154.md b/content/support/faq/faq.154.md new file mode 100644 index 00000000..ac808cc7 --- /dev/null +++ b/content/support/faq/faq.154.md @@ -0,0 +1,43 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Custom report by tag, project and dependency + +I'm pretty ignorant when it comes to making custom reports so bear with me. + +I need a report/script that generates a list of tasks grouped by tag. + +What I do now: + +$ task +joe > list.txt +$ task +bob >> list.txt +$ task +mary >> list.txt +$ task +harry >> list.txt +$ task +lary >> list.txt +This groups it all into one file that's easy to print out and review with others, but I'm sure there's a smarter way. + +It would also be nice to have each section of the list separated by a header like + +"Tasks involving: LARRY" + +.... + +"Tasks involving: MARY" + +... + +etc + + + +The other thing I would like is to list projects by project name and dependency. +Then my tasks are sorted by the people involved and the project dependencies (as they pertain to the same project). + + + +How do I set this up as one command? + +A: The simplest way is to put the above commands in a shell script. +Insert an 'echo' command between task commands to create titles. + diff --git a/content/support/faq/faq.155.md b/content/support/faq/faq.155.md new file mode 100644 index 00000000..8856c6a2 --- /dev/null +++ b/content/support/faq/faq.155.md @@ -0,0 +1,25 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Can I create a recurring task which repeats based on the date of completion, rather than the due date? + +Example: Have a task to clean your pet's cage weekly; if you do it a few days early, then the new task should be generated 7 days from the date of completion. + +A: This is not supported. +But there is hope. + +Since adding recurrence to taskwarrior we have learned over the years that there are different types of recurrence. +There is the fixed schedule type that is implemented. +Then there is the kind you describe, which is where the due date of the next task is fixed to the completion date of the previous. + +There is another type, perhaps, such as taking the trash out to the curb, such that if you don't do it, the fixed schedule remains, but the task just goes away. + +Recurrence is being redesigned, and a future release will cover these cases, and more if they emerge. + +A: I was really missing this feature, so I at leasted put together a hook simulating such recurrance. Being a hook, it requires Task Warrior 2.4.0. + +It is available on GitHub: + +https://github.com/JensErat/task-relative-recur + diff --git a/content/support/faq/faq.156.md b/content/support/faq/faq.156.md new file mode 100644 index 00000000..c1da5b4a --- /dev/null +++ b/content/support/faq/faq.156.md @@ -0,0 +1,21 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to show tasks done over given period of time? + +I'd like a report that shows all tasks completed over a given period of time. + +Since beginning of current month. +The month of... +The week of... +Beginning of week +Since last week (7 days ago, even better excluding weekends) +Only show tasks completed with certain project names +Etc... + +A: You need something like this: + +$ task end.after:2014-09-01 completed +You could of course define your own reports, each with suitable filters like this. + diff --git a/content/support/faq/faq.157.md b/content/support/faq/faq.157.md new file mode 100644 index 00000000..b0818839 --- /dev/null +++ b/content/support/faq/faq.157.md @@ -0,0 +1,33 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Excluding tasks from a report? + +I mainly rely on tags for making reports + +task +somebody >> myreport.txt +task +someoneelse >> myreport.txt + + +Is there a way to exclude tasks that contain a certain tag, or that are low priority? + +task +somebody -dothislater >> myreport.txt +task +someoneelse -waitingonsomething >> myreport.txt +task +someoneelse -pri:L>> myreport.txt + +A: Actually, you are providing your answer. + +task +somebody -dothislater >> myreport.txt +Is exactly how you should do it. + +As for being or not being of a given priority, try: + +task +someoneelse pri:L>> myreport.txt (for priority low) +task +someoneelse pri.isnt:L>> myreport.txt (for any priority but low) +You should also check + +man task +man taskrc +as these provide most of the information + diff --git a/content/support/faq/faq.158.md b/content/support/faq/faq.158.md new file mode 100644 index 00000000..d224ddbe --- /dev/null +++ b/content/support/faq/faq.158.md @@ -0,0 +1,62 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Annotations vs dependencies + +Annotating vs dependencies + +Most tasks involve lots of little tasks and it's usually practical to make dependencies. I find the easiest way to read them is to annotate. +So a typical task looks like this + +ID Project Description +99 thatthing do this important thing + 9/1/2014 did this one thing, now on to that other thing, + 9/2/2014 did that other thing, waiting on something + 9/2/2014 remember to do this other thing while you're waiting + 9/2/2014 almost done, talk to that one guy about that thing +The problem is annotations multiply like rabbits and I'll have to go in and comment out some annotations, no big deal. +May not be right since a task is often dependendent on some annotation within it, but still a lot easier to read than. + +And it's easier to type + +task add foo pro:projectfoo +Project 99 created. +task 99 annotate bar +task 99 annotate foobar +Instead of + +task add foo pro:projectfoo +task add bar pro:projectfoo +task add foobar pro:projectfoo +task 99 mod dep:100,101 +Mainly though it's just easier to read annotations below the projects. +What am I doing wrong or what do you usually do? + +A: The issue you are referring to is one that has been asked many times before in different forms. +People end up "misusing" annotations to add things that should instead be "subtasks". Much like the last example you provide. +This is currently an open issue pending design and implementation. + +I thought it was reported already given it has been discussed several times but I couldn't find the ticket for it. +You can now find it at TW-1412. + +In the meantime, I'd recommend using the last approach and use dependencies instead. + +As for annotations, try to think of them as "extra task information" and not "things that you did or still need to do". +If you feel tempted to create an annotation that includes the words do, did, wait(ing), remember, need,... you should probable be creating a task and using due: ,wait: or some other functionality. + +If you are wondering then what should you use annotations for, consider this example: + +ID Project Description +99 happyhouse Buy a SpringleTrumper online. + 9/1/2014 The online price is 50$. A bit more than I was planning to spend. +(create subtask "ask john about it") + 9/2/2014 I asked John and he told me it was indeed too expensive. It should be less than 10$ (mark subtask "ask john" as done; create subtask "call the shop") + 9/4/2014 Talked to the service, the price was indeed wrong. One zero too many. +(mark subtask "call the shop" as done) + 9/4/2014 Bought online. Should arrive in 3 days. +(set task to wait for 3 days) + 9/7/2014 Arrived. Everything ok. +(set task to done) +the part in parenthesis reflects my actions and is not part of the annotation. + diff --git a/content/support/faq/faq.159.md b/content/support/faq/faq.159.md new file mode 100644 index 00000000..082b831b --- /dev/null +++ b/content/support/faq/faq.159.md @@ -0,0 +1,20 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How can I suppress the "TASKDATA override" message + +Hi + +Is there a way to suppress the "TASKDATA override" message when using a non-standard .task directory? + +This is more of an annoyance than a problem! + +Thanks + +Fred + +P.S. The same goes for the "TASKRC override" message. + +A: Change your verbosity settings - "man taskrc", and look for "verbose". + diff --git a/content/support/faq/faq.160.md b/content/support/faq/faq.160.md new file mode 100644 index 00000000..0776ad37 --- /dev/null +++ b/content/support/faq/faq.160.md @@ -0,0 +1,16 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How do you import existing tasks into taskd? + +Hello, + +I'd like to give a try to taskd and Mirakel and I already have a bunch of task created using the regular taskwarrior program. How can I import those tasks into taskd? + +I skimmed through the documentation shipped with taskd but didn't find anything about that. + +A: This is documented, run "man task-sync". + +A: I don't think the answer is clear in the documentation, actually. But what you want, Louis, is handled automatically when you run task sync initialize. + diff --git a/content/support/faq/faq.161.md b/content/support/faq/faq.161.md new file mode 100644 index 00000000..17c386e4 --- /dev/null +++ b/content/support/faq/faq.161.md @@ -0,0 +1,15 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Using easy-rsa 3 to setup the taskd PKI + +Hello, + +I don't really want to setup yet another PKI when I already have one for OpenVPN. As anyone tried the certs generated by easy-rsa 3 with taskd? A quick look at taskd's PKI scripts seems to hint that they would work. + +A: Turns out this is perfectly possible, the only catch is to correctly specify the server fqdn when building a server certificate for taskd: + +./easyrsa build-server-full taskd.example.com +Nothing special is required to build the client certificates. + diff --git a/content/support/faq/faq.162.md b/content/support/faq/faq.162.md new file mode 100644 index 00000000..c62b72a6 --- /dev/null +++ b/content/support/faq/faq.162.md @@ -0,0 +1,56 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to preserve tags when task is completed? + +I'm running v2.3, compiled on Ubuntu 14.04 (packaged only had v2.2). +When tasks are added, I usually include tags. +I'd like to keep those tags associated with a task even after the task is completed (for reporting purposes). +Is this possible? Whenever I do a "task completed", it doesn't show any tags, like this: + + + +adam@perseus-vm1[~]% task +[task long] +No matches. +adam@perseus-vm1[~]% task add "Create dominant function" pro:eng0 +dev +tools +cte +Created task 1. +The project 'eng0' has changed. +Project 'eng0' is 0% complete (1 of 1 tasks remaining). +adam@perseus-vm1[~]% task +[task long] +ID Proj Added Age Tags Description + 1 eng0 2014/9/9 4s dev tools cte Create dominant function +1 task +adam@perseus-vm1[~]% task 1 done +Completed task 1 'Create dominant function'. +Completed 1 task. +The project 'eng0' has changed. +Project 'eng0' is 100% complete (0 of 1 tasks remaining). + +adam@perseus-vm1[~]% task +[task long] +No matches. +adam@perseus-vm1[~]% task completed +Complete Proj Age Description UUID +2014/9/9 dhcp 1h Configuration file a24f3089-9878-4151-b881-390754c676e2 + 2014-09-09 18:06:11 Started task + 2014-09-09 18:14:39 Stopped task +2014/9/9 dhcp 1h TOI session 63a28f83-fb03-4227-91c6-f0548d7b6c24 +2014/9/9 dhcp 1h Enable known hosts ff7d775e-d17a-4059-8d54-fb0b362e45cd +2014/9/9 eng0 17s Create dominant function ad3b5c51-8148-438c-9309-96080012f79a +4 tasks + + + Thanks! + +A: Don't worry - your data is intact. +What you're seeing is that your default 'long' report and the 'completed' report show different task metadata. +You can modify these reports if you wish them to show the same columns. + +Meanwhile, you can see that your tags are intact, with the 'info' report, which always shows everything. +Try this: + +task ad3b5c51-8148-438c-9309-96080012f79a info + diff --git a/content/support/faq/faq.163.md b/content/support/faq/faq.163.md new file mode 100644 index 00000000..3e498f32 --- /dev/null +++ b/content/support/faq/faq.163.md @@ -0,0 +1,39 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Modifying a completed task + +Hi, I'm trying to uncomplete a task. + +I've found its UUID: 4d1e6695-3f5b-4ed0-a719-c23ed7d71d7d + +But I can't find any way of modifying it. + +If I use this command: task status:completed 4d1e6695-3f5b-4ed0-a719-c23ed7d71d7d + +Then I get this response: [task next status:completed 4d1e6695-3f5b-4ed0-a719-c23ed7d71d7d] No matches. + +That I understand. Its irritating that 'next' is assumed, but I understand why it doesn't find the task. + +If I try this command: task all status:completed 4d1e6695-3f5b-4ed0-a719-c23ed7d71d7d + +Then it finds the task, but NOT if I append 'modify': task all status:completed 4d1e6695-3f5b-4ed0-a719-c23ed7d71d7d modify +test + +Result: No matches. + +What am I missing? + +Thanks + +Ed + +A: When you don't provide a command, the rc.default.command is assumed, in this case 'next'. +In your second example you are combining the 'all' command, which is a read-only report, with the 'modify' command, and you can only specify one, so Taskwarrior assumes 'all' is the command, and 'modify' is part of the filter. + +You want this: + +task 4d1e6695-3f5b-4ed0-a719-c23ed7d71d7d modify status:pending +This is the general form of write-commands - to the left of the command you see a filter which identifies tasks, and on the right of the command you see modifications. +So the above means: find the task with uuid 4d1e6695-3f5b-4ed0-a719-c23ed7d71d7d, and modify it by setting the status attribute to pending. + diff --git a/content/support/faq/faq.164.md b/content/support/faq/faq.164.md new file mode 100644 index 00000000..e85196f3 --- /dev/null +++ b/content/support/faq/faq.164.md @@ -0,0 +1,31 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Deleting recurring task + +I have a parent recurring task that has been deleted but it is still present in my ~/.task/pending.data file with the following mask: + + + +[description:"pay the rent" due:"1353387600" entry:"1351944626" mask:"++++++++++++++++XXXXXXXX" modified:"1411263554" recur:"monthly" status:"recurring" uuid:"23c826a7-c936-49ed-9d44-1af8ee829142"] + + +When I type `task recurring`, this task does not show up but it stills creates a monthly task. Is it safe to delete the corresponding line in the pending.data file or else how can I delete this recurring task? + + + +I have tried to run this command (on taskwarrior 2.3.0): + + + +$task 23c826a7-c936-49ed-9d44-1af8ee829142 delete + +Task 24 'pay rent' is not deletable. + +A: Yes, it is safe to delete that line from pending.data. +But you should be able to delete it using this: + +task 23c826a7-c936-49ed-9d44-1af8ee829142 delete +I should add that if you are syncing using Taskserver, manually deleting lines bypasses the mechanism that keeps things in sync. + diff --git a/content/support/faq/faq.165.md b/content/support/faq/faq.165.md new file mode 100644 index 00000000..d4c949a3 --- /dev/null +++ b/content/support/faq/faq.165.md @@ -0,0 +1,16 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Is it possible to use mysql as a backend database for taskserver? + +I have a mysql server running on my raspberry anyway and it would be nice if there was a possibility to use is as backend for taskd. + +I guess it is not really necessary because it works great with the default backend but I am still curious. + +Thanks for your help. + +A: Possible: Yes. By using "task export" you can use whatever backend you desire to store your tasks. You will need to write the code for that and take care of the complexity of synchronizing them yourself. + +Supported out of the box: No. It's beyond the scope of the project, but as I said, it's easy to extract the tasks from taskwarrior. + diff --git a/content/support/faq/faq.166.md b/content/support/faq/faq.166.md new file mode 100644 index 00000000..52da687b --- /dev/null +++ b/content/support/faq/faq.166.md @@ -0,0 +1,20 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: uninstall taskd + +I have installed taskd following this instructions: https://mirakel.azapps.de/taskwarrior.html + +But now I need to uninstall it. How do I do it? + +I use ArchLinux but as I haven't used pacman, I can't use it to uninstall taskd. + +Thanks. + +A: Delete the files. +There is no uninstall. +If you'd used a binary package, there would be an uninstall. + +A: That tutorial includes a "make install" step which unless the user running it is root, will fail. If the user was indeed root or "sudo" was used, make sure you also remove the files from /usr/local/. + diff --git a/content/support/faq/faq.167.md b/content/support/faq/faq.167.md new file mode 100644 index 00000000..197bc8df --- /dev/null +++ b/content/support/faq/faq.167.md @@ -0,0 +1,39 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to avoid sideeffects in taskwarrior querry? +I use some Python script to include informations from takswarrior into other places of my Desktop Environment. I hook a function before presenting the prompt of my zsh, for example, that warns me with a custom message, if there are no tasks active. + +The way I try to get the neccessary information form taskwarrior in Pythn is to use subprocess.check_output or subprocess.Popen. Unfortunately taskwarrior is not only delivering the querried tasks to stdout, but presents additional strings which are not catched by check_output or Popen. This string is show the + +"No matches. + + +There are local changes. +Sync required." +message or in case the querry has a result, only "There are local changes. +Sync required.". +This output does not seem to be a result that is directly delivered by the query otherwise it would be part of the result object in the Python Script. Instead it appears wherever the script was called (For this example it is the zsh Prompt) while the resulting list of tasks is delived to the resulting oject in the python script. +How is it possible to avoid this sideeffect? + +A: if you don't want to have the value set in your taskrc, you can override it at runtime with do something like `task +ACTIVE status:pending count rc.verbose=off`. + +A: I would recommend you to use tasklib python library for the job: + +$ task add sample started task + +Created task 1. + +$ task 1 start + + + +>>> from tasklib.task import TaskWarrior +>>> tw = TaskWarrior() +>>> tw.tasks.filter("+ACTIVE") +[sample started task] + + + More documentation may be found here: https://tasklib.readthedocs.org/en/latest/ + diff --git a/content/support/faq/faq.168.md b/content/support/faq/faq.168.md new file mode 100644 index 00000000..2ffe309d --- /dev/null +++ b/content/support/faq/faq.168.md @@ -0,0 +1,95 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: taskd: "A TLS packet with unexpected length was received" on task sync init + +I just setup my task server and it works already great with Mirakel. Unfortunateley, the same credentials and certificates don't work on my laptop (even if I used it for creating the Mirakle config file). + +I get this error message in task warrior on task sync init (task sync yields same problem) + +Handshake failed. +Error in the certificate. +Sync failed. +Could not connect to the Taskserver. +And in my taskd log: + +2014-09-30 14:52:29 Error: Handshake has failed (A TLS packet with unexpected length was received.) +Whereas I could successfully synchronize my tasks with Mirakel: + +2014-09-30 14:51:37 [9] 'sync' from 'Home/*** ***' using 'Mirakel 2.7.1' at :0 +... +2014-09-30 14:51:37 [9] Loaded 9 records +... +2014-09-30 14:51:37 [9] Serviced in 0.050640s + + +I already checked the configs in taskwarrior and taskd as described here https://taskwarrior.org/docs/taskserver/setup.html. Everythings looks neat. I double checked the certificates, too. + +Has anybody an idea what's happening here? + + + +Update: (added diagnostics) + +taskd 1.0.0 + Platform: Linux + Hostname: *** + +Compiler + Version: 4.4.7 20120313 (Red Hat 4.4.7-4) + Caps: +stdc +stdc_hosted +200809 +LP64 +c1 +i4 +l8 +vp8 + +Build Features + Built: Sep 29 2014 13:37:38 + Commit: 2f40c1b + CMake: 2.8.12.1 + Caps: +pthreads +tls + libuuid: libuuid + uuid_unparse_lower + libgnutls: 2.8.5 +task 2.4.0.beta1 + Platform: Darwin + +Compiler + Version: 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40) + Caps: +stdc +stdc_hosted +LP64 +c8 +i32 +l64 +vp64 +time_t64 + +Build Features + Built: Sep 29 2014 14:59:39 + CMake: 3.0.2 + Caps: -pthreads +tls + libuuid: libuuid + uuid_unparse_lower + libgnutls: 3.2.17 + Build type: + +Configuration + File: /Users/hans/.taskrc (found), 1716 bytes, mode 100644 + Data: /Users/hans/.task (found), dir, mode 40755 + Locking: Enabled + GC: Enabled + Server: ***** + CA: /Users/hans/.task/ca.cert.pem (readable) + Trust: strict + +Certificate: /Users/hans/.task/***.cert.pem (readable) + Key: /Users/hans/.task/***.key.pem (readable) + Ciphers: NORMAL + Creds: Home/*** ***/************************************ + +Hooks + Scripts: Enabled + (none) + +Tests + $TERM: ansi (254x63) + Dups: Scanned 1 tasks for duplicate UUIDs: + No duplicates found + +A: You have the setting + +taskd.trust=strict +On your 2.4.0b1 client, that means hostname is checked in the certificate. +Did you set the hostname in the server cert such that this will work? If not, either regenerate the certs with the right hostname, or change the setting: + +taskd.trust=ignore hostname + diff --git a/content/support/faq/faq.169.md b/content/support/faq/faq.169.md new file mode 100644 index 00000000..24178c6f --- /dev/null +++ b/content/support/faq/faq.169.md @@ -0,0 +1,19 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Filter by end/entry/modified date + +Filtering tasks by due date seems to work pretty well: + +task status:pending due:2014-10-02 +But similar queries for `end`, `entry` or `modified` date fields don't work, e.g. if I want to get a list of all tasks that are completed and have their end date of Sept 30: + +task status:completed end:2014-09-30 +Any ideas how to do this? or is filtering by these date fields not supported? + +A: To answer my own question: + +task status:completed end:2014-09-30 all +Otherwise, we're just looking at pending tasks by default. + diff --git a/content/support/faq/faq.170.md b/content/support/faq/faq.170.md new file mode 100644 index 00000000..8589b6cd --- /dev/null +++ b/content/support/faq/faq.170.md @@ -0,0 +1,41 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Is it possible to use multiple task commands in one line? + +I feel always a little bit frustrated when I finish an actie task and have to write seperately: + +$ task XX stop +$ task XX done +Is there a possibility to do this in one line, like for example: + +$ task xx stop & done +One could also imagine other scenarios. For example to add two task in one line or something similar. But my current problem is the one mentioned before. + +A: Hi Niels-Oliver, + +In practice + +task done +should be enough and should stop the clock automatically. + +There is/was a bug causing the clock not to stop but has been fixed in 2.4.0 which is currently in beta stage and should be out in a few weeks. + +There are also a couple of new features included in 2.4.0 (hooks) which will make time-tracking hopefully easier to handle. + +A: As Renato said, this particular problem is fixed in 2.4.0 + +Seeing how Taskwarrior is a commandline application though, it should be mentioned that "chaining" commands can be quite easily done by making use of your shell. For example: + +bf@surfbox:~$ function td() { task $1 stop && task $1 done; } +bf@surfbox:~$ td 1 +Stopping task 1 'stuff'. +Stopped 1 task. +Completed task 1 'stuff'. +Completed 1 task. +bf@surfbox:~$ +How you can make your shell of choice load this function at startup is left as an exercise to the reader. + +(Putting it in ~/.bashrc works for bash.) + diff --git a/content/support/faq/faq.171.md b/content/support/faq/faq.171.md new file mode 100644 index 00000000..f7c16b33 --- /dev/null +++ b/content/support/faq/faq.171.md @@ -0,0 +1,33 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How do i manually block and unblock a task? + +I would like to manually [un]block a task as if it were blocked by a adding a dependancy to another task. + + + +Here's my simple use case: + +I have a task that a can't start before my boss give me some documents (in other words: before an external event occurs). + +I enter this task to taskwarrior, and set it blocked. +I will unblock it when i'll get theses documents. + + +I don't know when i will get theses documents so that's why i would like to manually lock/unlock the task. + +A: At the moment the only way to block a task is to have it depend on another task. + +You can do this by doing: + +$ task add "Check that documents arrived" +Created task 1. +$ task add dep:1 "Do something with the documents" +This way if you include -BLOCKED in your report filters you will only see the task with ID 1. + +Alternatively you can use the wait: attribute to have a task "disappear" from your task list until a given point in time. + +Have a look at this and other answers for examples of how to use these attributes or use man task for full documentation. + diff --git a/content/support/faq/faq.172.md b/content/support/faq/faq.172.md new file mode 100644 index 00000000..bd12421f --- /dev/null +++ b/content/support/faq/faq.172.md @@ -0,0 +1,14 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to change the value for sow (Start of Week) + +I'm using 2.4.0 and specifying due:sow results in a weekday of Sunday but I need Monday for sow + +specifying weekstart in taskrc only has influence on task calendar. + +A: Not supported. +It should be tied to the weekstart value. +That would make a good feature request. + diff --git a/content/support/faq/faq.173.md b/content/support/faq/faq.173.md new file mode 100644 index 00000000..bc5ee859 --- /dev/null +++ b/content/support/faq/faq.173.md @@ -0,0 +1,70 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Task calendar not dislaying holidays + +I don't know why the calendar is not displaying the holidays. This is the my taskrc : + +# [Created by task 2.3.0 7/23/2014 14:29:17] +# Taskwarrior program configuration file. +# For more documentation, see https://taskwarrior.org or try 'man task', 'man task-faq', +# 'man task-tutorial', 'man task-color', 'man task-sync' or 'man taskrc' + +# Here is an example of entries that use the default, override and blank values +# variable=foo -- By specifying a value, this overrides the default +# variable= -- By specifying no value, this means no default +# #variable=foo -- By commenting out the line, or deleting it, this uses the default + +# Use the command 'task show' to see all defaults and overrides + +# Files +data.location=~/.task + +# Color theme (uncomment one to use) +#include /usr/local/Cellar/task/2.3.0/share/doc/task/rc/light-16.theme +#include /usr/local/Cellar/task/2.3.0/share/doc/task/rc/light-256.theme +#include /usr/local/Cellar/task/2.3.0/share/doc/task/rc/dark-16.theme +#include /usr/local/Cellar/task/2.3.0/share/doc/task/rc/dark-256.theme +include /usr/local/Cellar/task/2.3.0/share/doc/task/rc/dark-256.theme +#include /usr/local/Cellar/task/2.3.0/share/doc/task/rc/dark-red-256.theme +#include /usr/local/Cellar/task/2.3.0/share/doc/task/rc/dark-green-256.theme +#include /usr/local/Cellar/task/2.3.0/share/doc/task/rc/dark-blue-256.theme +#include /usr/local/Cellar/task/2.3.0/share/doc/task/rc/dark-violets-256.theme +#include /usr/local/Cellar/task/2.3.0/share/doc/task/rc/dark-yellow-green.theme +#include /usr/local/Cellar/task/2.3.0/share/doc/task/rc/dark-gray-256.theme +#include /usr/local/Cellar/task/2.3.0/share/doc/task/rc/holidays.it-IT.rc +include /usr/local/Cellar/task/2.3.0/share/doc/task/rc/holidays.en-US.rc +color = on +dateformat=D-M-Y + +dateformat.report=D-M-Y + +dateformat.holiday= D-M-Y + +dateformat.edit=D-M-Y H:N:S + +dateformat.info=D-M-Y H:N:S + +dateformat.annotation= D-M-Y + +report.X.dateformat=D-M-Y + +weekstart = Monday + +journal.time=yes + +journal.time.start.annotation=Task Iniziato! + +journal.time.stop.annotation=Task Fermato! + +calendar.details=full + +calendar.holidays=full + +calendar.details.report=list + +A: Take a look inside this file that you are including, and verify that you have holidays extending at least until the end of 2014: + +/usr/local/Cellar/task/2.3.0/share/doc/task/rc/holidays.en-US.rc + diff --git a/content/support/faq/faq.174.md b/content/support/faq/faq.174.md new file mode 100644 index 00000000..0386b569 --- /dev/null +++ b/content/support/faq/faq.174.md @@ -0,0 +1,27 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: What is the best way to move taskwarrior with personal files and configs, to a new machine? + +Sometimes I want to install task, and sync it up, on a "new" machine; either a replacement for my primary machine, or just another task install on a secondary box. + + + +I've had to do this a few times, and had to collect up all *.data files, and .taskrc, and certs, etc, and I find the process picky and error-prone, is there a better way? + +A: Since you are using a taskserver, you don't need to copy the *.data files, you can let sync handle that. +Here are the steps I would follow on a new machine: + +Install taskwarrior +On new machine: + +$ cd +$ scp old-machine:.taskrc . +$ mkdir .task +$ scp old-machine:.task/*pem . +$ scp -r old-machine:.task/hooks .task/ +On new machine: + +$ task sync + diff --git a/content/support/faq/faq.175.md b/content/support/faq/faq.175.md new file mode 100644 index 00000000..9f35e1fe --- /dev/null +++ b/content/support/faq/faq.175.md @@ -0,0 +1,24 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Can Task Warrior be used as a work log? Does anyone else use it this way? + +First time post here. +I've been using TW on and off for about a year. +Both the power, combined with the simplicity and speed of a CLI interface, is quite amazing to me. +I own a small managed services business, and I use it to support my business and customers. + +I find that I don't always have the discipline needed to enter tasks as they arise, and frequently I complete work and then log it afterwards. +I find the log feature equal, if not greater, than 'task add." + +I realized that I am essentially using TW as a daily work log / log book, where I log things as they get completed, and also annotate pending/open tasks as notes need to get captured. +So in my use case, I'm using it equally as much as a log book as I am a task management system. +(I also run a cron job to export the tasks as a weekly and monthly report posted into a web log system so that I can potentially show much customers later if need be.) + +Was curious if that is a common use for others, if it's an 'appropriate' use of TW, and what others are doing in that regard. + +PS - Please keep up the good work!! And ty for the s/w! + +A: You need Timewarrior! + diff --git a/content/support/faq/faq.176.md b/content/support/faq/faq.176.md new file mode 100644 index 00000000..b1936d9c --- /dev/null +++ b/content/support/faq/faq.176.md @@ -0,0 +1,21 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Why is a task with due date today overdue and how would I change that? + +Tasks which have a due date of today are considered overdue in my task installation. This surprises me since for me a task would be overdue after today. I was thinking that this is also taskwarriors point of view since there is something like color.due.today for example which in my case is consequently overwritten by overdue of cause. + +The datetime related settings in my .taskrc are the following + +dateformat=D.M.Y +dateformat.annotation=D.M. +dateformat.report=D.M.Y (A) +dateformat.info=A, d. B Y +nothing which would relate the hour of the day which I might have passed. + +How can I make overdue apply only to tasks that have a due date from yesterday? + +A: If you have a dateformat that does not include time, then a default time of 0:00:00 is assumed, which in almost every case is in the past, hence overdue. +You can change your dataformat to include time, then you'll specify the date and time for due dates, and that makes the 'overdue' status more obvious. + diff --git a/content/support/faq/faq.177.md b/content/support/faq/faq.177.md new file mode 100644 index 00000000..169902af --- /dev/null +++ b/content/support/faq/faq.177.md @@ -0,0 +1,23 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Can I add custom statuses, like "Cancelled" or "Waiting on others"? + +I'd like to be able to have more task statuses than are available by default. +Is that possible to do? If so, how? + +More concretely, I have two additional states I'd like to represent: + +"Cancelled", for an item that went onto my task list but that can now be removed because it no longer needs to be completed. +I don't like deleting items, because then there's no record of it having been there in the first place. +"Waiting on others", for an item that cannot be completed until someone else does something. +(The wording is difficult here, because "waiting" means something else in TaskWarrior already.) +How can I accomplish this? + +A: No, custom status values are not accepted. +After all, Taskwarrior wouldn't know what you mean, and some functionality depends on known states. + +Instead, you can add a UDA field, for example named 'detail', and you can store your extended status there. +See https://taskwarrior.org/docs/udas.html. + diff --git a/content/support/faq/faq.178.md b/content/support/faq/faq.178.md new file mode 100644 index 00000000..3fb895c4 --- /dev/null +++ b/content/support/faq/faq.178.md @@ -0,0 +1,25 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: what is the search syntax to exclude tasks from a certain project? + +Or is currently not possible? + +A: With 2.4.0 (soon) you will have several options: + +task project.not:... +task project '!=' ... +Or using patterns: + +task project.nocontain:... +task project '!~' ... +task not /.../ + +A: Try: + +task proj.not:myproject +you can also exclude multiple projects: + +task proj.not:myproject proj.not:myotherproject + diff --git a/content/support/faq/faq.179.md b/content/support/faq/faq.179.md new file mode 100644 index 00000000..3f53ae8f --- /dev/null +++ b/content/support/faq/faq.179.md @@ -0,0 +1,12 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How do I import holidays from holidata? + +I was able to wget the 2015.json file from holidata. +I tried doing task import 2015.json, but it added the holidays as tasks. +Is there special syntax to do this automatically, or do we need to hand-edit the holiday file and/or add the dates to .taskrc? + +A: There is a script to automatically update your holiday files, called update-holidays.pl, and it's part of the distribution. + diff --git a/content/support/faq/faq.180.md b/content/support/faq/faq.180.md new file mode 100644 index 00000000..d99e151e --- /dev/null +++ b/content/support/faq/faq.180.md @@ -0,0 +1,15 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How secure is the Taskserver? + +I understand that the communication is ssl-encrypted. But can the Taskserver itself access my todos? Or are the encrypted client-side? + +Inthe.Am seems like it could be a solution to the problem of not being able to acess my tasks on my android smartphone, but what can they access if I sync with them? + +A: Data is not encrypted on the server side. +Communication is the only part that is encrypted. + +A: There are plans to add this in the future. + diff --git a/content/support/faq/faq.181.md b/content/support/faq/faq.181.md new file mode 100644 index 00000000..f2a20a60 --- /dev/null +++ b/content/support/faq/faq.181.md @@ -0,0 +1,19 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How do I use a Windows text editor for "task edit ..." on Cygwin? + +Running notepad++ with the commandline switch -multiInst works - a new instance of np++ doesn't "trick" task into thinking the edit is done. + +In .taskrc: + +editor=notepad++ -multiInst + +A: In case you want to use a console editor everything works perfectly fine, just how you would do it in unix. + +Windows editors have problems resolving Cygwin paths, so you have to convert Cygwin paths to Windows with + +cygpath -w +Please check https://cygwin-lite.sourceforge.net/html/cygpath.html + diff --git a/content/support/faq/faq.182.md b/content/support/faq/faq.182.md new file mode 100644 index 00000000..488d8c01 --- /dev/null +++ b/content/support/faq/faq.182.md @@ -0,0 +1,11 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Is there an Amazon EC2 image for taskserver? + +I'm looking for a simple way to spin up a taskserver using something like EC2. Does this exist? + +A: Not that I'm aware of. +Not a bad idea though. + diff --git a/content/support/faq/faq.183.md b/content/support/faq/faq.183.md new file mode 100644 index 00000000..d7cf0184 --- /dev/null +++ b/content/support/faq/faq.183.md @@ -0,0 +1,15 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: "Taskwarrior no longer supports file format 1...." error while developing hook + +Hi, I am trying to develop a hook for Taskwarrior, but am running into a problem. I am using Taskwarrior 2.4.0.beta3 and I have placed the symlink to my hook into the /.task/hooks/ folder. It is a on-modify hook, and I am simply testing it out and trying to print something to the console. It correctly calls my hook and even prints to the console, but then it displays this error: + +"Taskwarrior no longer supports file format 1, originally used between 27 November 2006 and 31 December 2007". + +Once I get rid of my hook, I never see this error. +I am giving an exit code of 0 after my script is run. I wondered if maybe I had to return some data back as it should be passed to my script, but as far as I can tell I am not receiving any data. I put "rc.debug.hooks=2" into my .taskrc but I see no trace of any input or output being given to me. "task diagnostics" tells me that it sees my hook and that it is executable. Thanks for any help! + +A: I got the answer to this in the IRC channel. The problem was that I was not returning JSON, and apparently on-modify hooks need to have JSON returned. + diff --git a/content/support/faq/faq.184.md b/content/support/faq/faq.184.md new file mode 100644 index 00000000..0a7717fe --- /dev/null +++ b/content/support/faq/faq.184.md @@ -0,0 +1,14 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How can I get list of all used tags ? + +taks tags seems to only return list of all used tags in pending tasks. How can I get a list that includes tags used in completed tasks ? + +A: You can enable this setting to see all tags used, not just the pending ones: + +$ task rc.list.all.tags:yes tags + +A: Is task _tags the command you are looking for? + diff --git a/content/support/faq/faq.185.md b/content/support/faq/faq.185.md new file mode 100644 index 00000000..f33828c7 --- /dev/null +++ b/content/support/faq/faq.185.md @@ -0,0 +1,16 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Does Taskwarrior support a higher time resolution than "on that day"? + +For example, I have projects that are due at specific hours of the day. How can I use due: to mark this? + +A: Read "man taskrc" regarding the "dateformat" setting. +If you include time in your dateformat, then you can specify time. + +A: Another ways to specify a time is to use the "+" operator. For example + +monday+15hours +means monday at 15:00. + diff --git a/content/support/faq/faq.186.md b/content/support/faq/faq.186.md new file mode 100644 index 00000000..a93272c0 --- /dev/null +++ b/content/support/faq/faq.186.md @@ -0,0 +1,17 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: recurring tasks with a wait? + +There are some tasks that I want to do daily, or weekly. And I only want to see them when they need to be done. I have a 'daily checklist' for my GTD-workflow. And I would like to see the item only on the day it self. + +Now, when I add a recurring tasks with a wait period. like this: + +task add Daily Checklist recur:1day wait:today due:tomorrow +I expect that when I mark the 'Daily Checklist' of today as done, that no other items show up. But after some time, they tend to end up multiply times on my list. + +How should I add this functionality? Or am I just forgetting to check it off sometimes and does that cause the duplicates. I just want to set the wait date relative to the due date. + +A: This is possible now with https://github.com/tbabej/taskwarrior-shift-all-recurrence-hook . + diff --git a/content/support/faq/faq.187.md b/content/support/faq/faq.187.md new file mode 100644 index 00000000..b733a910 --- /dev/null +++ b/content/support/faq/faq.187.md @@ -0,0 +1,27 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: task list output customization + +In taskwarrior 2.4.0 the output of task list has more columns than in the previous stable version and the listing is wider than the 80 columns that my default terminal has. I have searched in the taskrc manual page but could not find a way to remove some of the columns from the "task list" command. + +A: Please use + +task show list +to see every config item related to list. + + + +$ task show report.list.columns + + + +Config Variable Value + +report.list.columns id,start.age,entry.age,depends.indicator,priority,project,tags,recur.indicator,scheduled.countdown,due,until.age,description.count,urgency +After that you can do a + +task config report.list.columns id,start,... +and add all columns you want to see. + diff --git a/content/support/faq/faq.188.md b/content/support/faq/faq.188.md new file mode 100644 index 00000000..a9e79100 --- /dev/null +++ b/content/support/faq/faq.188.md @@ -0,0 +1,17 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to modify task list spacing? + +In the default task list output in v2.4.0 some tasks that correspond to the same project are listed together surrounded by blank lines. Is it possible to modify the output of task list so that these blank lines are removed? + +A: Yes. +What you're seeing there is a demonstration of listing breaks, that group together tasks, when they are sorted. +See the definition for the list report: + +$ task show report.list.sort +report.list.sort start-,due+,project+/,urgency- +See the "/" at the end of "project+/"? That means break on project. +Remove that, and the gap goes away. + diff --git a/content/support/faq/faq.189.md b/content/support/faq/faq.189.md new file mode 100644 index 00000000..ef12172e --- /dev/null +++ b/content/support/faq/faq.189.md @@ -0,0 +1,15 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How can I sort by most recently added tasks? + +I would like to sort the output of `task list` with the most recently added tasks appearing at the bottom. Is this possible? + +A: Yes, try this asa one-off: + +$ task rc.report.list.sort=entry+ list +To make this permanent: + +$ task config report.list.sort entry+ + diff --git a/content/support/faq/faq.190.md b/content/support/faq/faq.190.md new file mode 100644 index 00000000..9463174d --- /dev/null +++ b/content/support/faq/faq.190.md @@ -0,0 +1,13 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How do I stop a recurrence? + +If I have a recurring task, how do I stop it from recurring? I know about the `until` keyword, but that presumes that I know ahead of time that the recurrence will stop. How do I stop a recurring task retroactively, as it were? Is it just a matter of setting an `until` in the past? + +A: Try this: + +$ task status:recurring all +Then delete the task that shows. + diff --git a/content/support/faq/faq.191.md b/content/support/faq/faq.191.md new file mode 100644 index 00000000..51b92838 --- /dev/null +++ b/content/support/faq/faq.191.md @@ -0,0 +1,21 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: What is the difference between tags and projects? + +Dear all, + +I am struggling to understand the difference between tags and projects. What is the difference between the two and when to use one or the other? + +Many thanks for your clarifying answers. + +A: Tags are meant to be generic. You can use any textual expression as a tag. + +A project is more like a category. It is treated specially in some situations as you can see by running the commands: + +task project +task summary +There's nothing that prevents you from not using projects. +You could as you pointed out, use tags for projects (project-tags). Though you'd lose some of the specific behavior of project:. + diff --git a/content/support/faq/faq.192.md b/content/support/faq/faq.192.md new file mode 100644 index 00000000..249d7e02 --- /dev/null +++ b/content/support/faq/faq.192.md @@ -0,0 +1,22 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How do I contribute to documentation? + +I would like to contribute a small change to the documentation. Specifically, the change I want to suggest is that the API v1 documentation is still written as if API v2 does not exist yet, so it should be updated to link to the API v2 so that people like me, who come to the page from a Google search, don't get confused by out-of-date information. + +In general, how should I go about submitting patches to the documentation? I cannot find a git repository containing the documentation. + +A: All our public repositories are listed here: https://github.com/GothenburgBitFactory + +Simply clone, modify and send a patch to support@taskwarrior.org. + +In this specific example, it the v1 and v2 API should not be distinct, and the documentation on these pages: + + https://taskwarrior.org/docs/hooks.html + + https://taskwarrior.org/docs/hooks2.html + +should be merged into one document (hooks.html), and the second URL replaced by a redirect. + diff --git a/content/support/faq/faq.193.md b/content/support/faq/faq.193.md new file mode 100644 index 00000000..e325a644 --- /dev/null +++ b/content/support/faq/faq.193.md @@ -0,0 +1,29 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Setting multiple urgency coefficients for one uda + +Hi all + +I'm trying to set a variety of urgencies for a uda value of 'size'. + +I'm following the example here: https://taskwarrior.org/docs/udas.html + +It demonstrates how to set a common urgency coefficient for all values, but I would like different coefficients for each value, eg 1, 2, 3 for small, medium, large, respectively. + +Is this possible? + +Regards + +Ed + +A: Yes, this is supported, depending on the version you have (2.4.3 or later). +What you are describing matches the setup for the priority UDA. +In your case, you need this: + +urgency.uda.size.1.coefficient=... +urgency.uda.size.2.coefficient=... +urgency.uda.size.3.coefficient=... +If you run man taskrc and search for 'URGENCY' you'll see all the settings discussed. + diff --git a/content/support/faq/faq.194.md b/content/support/faq/faq.194.md new file mode 100644 index 00000000..64df36cd --- /dev/null +++ b/content/support/faq/faq.194.md @@ -0,0 +1,27 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How can I show more detail at a time for the "due" column? + +Very sorry if this has been asked before; looked just about everywhere: documentation, asked questions, Internet, even poked at source (though my knowledge of C++ is limited). + +Is there a way to show more information at a time for the age, remaining, and countdown formats for the due column? + +For example, showing both hours and minutes remaining at the same time: 2 hours 35 minutes + +Without looking at each task individually, it can be ambiguous to know if 1 hour remaining means 1 hour 5 minutes, or 1 hour 55 minutes. + +If this something that can be done, is it best done directly through task, via code, utilizing UDA, or something else? + +A: You have options - you can change the format of data in the reports. +Take a look at the options: + +$ task columns +Then look at the report definitions: + +$ task show report.long +... +The column configurations can use any of the available variations. +See this for more details: https://taskwarrior.org/docs/report.html + diff --git a/content/support/faq/faq.195.md b/content/support/faq/faq.195.md new file mode 100644 index 00000000..f93ea849 --- /dev/null +++ b/content/support/faq/faq.195.md @@ -0,0 +1,29 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Printing report output + +I've got a pretty small laptop monitor and an awful lot of tasks, so I can't see more than a sixth of them at once for some projects. Sometimes its useful to have print outs of the whole list, with the colouration and arrangement of the 'next' or 'long' reports. + +Saving it to text file via the terminal (which would still lose the colours) doesn't work for me: + +"$ task long > tasklist.txt" + +"The report has a minimum width of 184 and does not fit in the available width of 80." + +The way I've been doing it is to screenshot it, append the images to each other, and print that. But there must be a better way. + +Thanks + +Ed + +A: There are a couple of solutions. +The easiest is this: + +$ task long rc.detection:off rc.defaultwidth:184 > tasklist.txt +The other solution is more creative. +Take a look at this:/ + +https://threebean.org/blog/2011/10/28/python-ansi2html-makes-taskwarrior-fantasktic/ + diff --git a/content/support/faq/faq.196.md b/content/support/faq/faq.196.md new file mode 100644 index 00000000..ff973103 --- /dev/null +++ b/content/support/faq/faq.196.md @@ -0,0 +1,13 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to stop numeric UDAs from being stored as a decimal (even when the input is an integer)? +Sometimes when storing a value for a numeric UDA when adding a task, the resulting value is stored as a decimal even when the input is an integer. This always happens when modifying the value using the modify command. + +Is there a way to force the value to either a decimal or an integer? + +A: No, numeric is the only type - there is no integer UDA. + +Edit: Storing the value as a string should keep it intact, but will eliminate the possibility of arithmetic. + diff --git a/content/support/faq/faq.197.md b/content/support/faq/faq.197.md new file mode 100644 index 00000000..a735638e --- /dev/null +++ b/content/support/faq/faq.197.md @@ -0,0 +1,10 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How do I hide the change log in the task details? + +Is there a way to hide / filter the change log when viewing task details? I really don't need to see when and what was modified for each task - it clutters up the display. + +A: This is controlled by the journal.info setting, documented in man taskrc. + diff --git a/content/support/faq/faq.198.md b/content/support/faq/faq.198.md new file mode 100644 index 00000000..1d95727a --- /dev/null +++ b/content/support/faq/faq.198.md @@ -0,0 +1,19 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: reanimating tasks + +Still new and making n00b mistakes, so I have tasks that I've incorrectly completed and deleted. + +Since I can still see those tasks, I assume there's a way to reverse those states/statuses. But those fields are not available for modification even in 'edit' mode. + +Note that I discovered my error later on, so the 'undo' command wouldn't do the trick. + +I'm amazed to not find this as an FAQ, which makes me think I missed something very obvious. + +A: Does + +task ID mod status:pending +do the trick for you? + diff --git a/content/support/faq/faq.199.md b/content/support/faq/faq.199.md new file mode 100644 index 00000000..58e2c561 --- /dev/null +++ b/content/support/faq/faq.199.md @@ -0,0 +1,16 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Activity report for a time period. + +This seems so simple - I would like a report of all of my activity for the last week (or other range). That includes any activity - e.g. adding an annotation should be shown. + +It seems like this should be simple, but I'm just not seeing how. The "last modified" field appears to have the data needed, but I don't see how to use that field in a filter. + +A: Found it! By examining the output of "task show", I spotted some reports using the "modified" field for sorting. Some experimentation showed that field is updated on every event I cared about, such as adding an annotation. + +My filter looks similar to: + +task modified.before:today+1w modified.after:today-1w all + diff --git a/content/support/faq/faq.200.md b/content/support/faq/faq.200.md new file mode 100644 index 00000000..eac511fc --- /dev/null +++ b/content/support/faq/faq.200.md @@ -0,0 +1,26 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: how to track already added task using 'timew track' command + +I want to track an already added task for new missed interval. I can do sth like: + +timew track 8am - 10am "try mimic the name" + +Is there a way to address exactly already added task? I mean something like: + + +timew track 8am -10am + +A: To add an interval with the exact same tag-list as an existing interval, there is the continue command. + +Assuming you want to continue the interval with id @2 in your database, you will currently have to something like + +timew continue @2 #starts new interval at with same tags as @2 +timew move @1 #set the desired start time +timew stop #set the desired end time +There is a feature request (TI-90) to expand the continue command to accept a start date which could be extended to also accept a date range - so you could write + +timew continue @2 - + diff --git a/content/support/faq/faq.201.md b/content/support/faq/faq.201.md new file mode 100644 index 00000000..a7cec0b1 --- /dev/null +++ b/content/support/faq/faq.201.md @@ -0,0 +1,19 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to specify default project properties? + +I'd like to set default properties (tags, priority and so on) for a project, so that, each new task in the project will have some attributes set, e.g. + +task add project:kitchen repair microwave +will add tag +home and priority:M for this task (and each task in the project garden). + + + +Right now It should be possible to do this using hook, but this will require some coding and user will need to store project settings in a separate file (not in ~/.taskrc). + +A: There is default.project, default.due. + +If you need more, then yes, and on-add hook would be needed. + diff --git a/content/support/faq/faq.202.md b/content/support/faq/faq.202.md new file mode 100644 index 00000000..15fd74a9 --- /dev/null +++ b/content/support/faq/faq.202.md @@ -0,0 +1,15 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to copy group of tasks? + +I have a rather large set of tasks (~30) grouped in a tasklist, e.g. project:server1 (or tag +server1). Now I want to copy this taskset into another project (or tag), e.g. project:server2. How this can be done aside from manually adding each task using `task add` command? + +Use case is quite simple: I have a tasklist to setup one server, I'd like to copy it, edit a bit and use to setup another system and so on. Each host can be processed independently, so single taskset can't be reused here. + +A: You can duplicate the tasks, and using a feature (en-passant) that modifies tasks, you can achieve what you want: + +$ task project:server1 duplicate project:server2 +The project:server1 is the filter used to drive the duplicate command, then the project:server2 is a set of modifications to apply. + diff --git a/content/support/faq/faq.203.md b/content/support/faq/faq.203.md new file mode 100644 index 00000000..8218c8e0 --- /dev/null +++ b/content/support/faq/faq.203.md @@ -0,0 +1,20 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Filter for cases where wait date was accidentally set after due date. + +I keep getting the warning that the wait date is after due date. How can I search for those cases? task '( due < wait)' list doesn't work (says expression cannot be evaluated). + +A: That doesn't work because the list report has a filter that conflicts with your filter. + +The wait date implies status:waiting which conflicts with the list report's filter which include status:pending. +Can't have both. +Try this: + +$ task due \< wait all +The all report has no filter. +You must escape the < so your shell doesn't intercept it as a redirect. You can also do this: + +$ task due.before:wait all + diff --git a/content/support/faq/faq.204.md b/content/support/faq/faq.204.md new file mode 100644 index 00000000..2817b57d --- /dev/null +++ b/content/support/faq/faq.204.md @@ -0,0 +1,34 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Android notifier + +Any chance an android application could ever be developed? I know there are many todo list apps for android but one that would sync with task would be pretty sweet. Also to receive push notifications when certain tasks become urgent for example. Managing tasks on my phone when I'm away and on the other hand having full control while in the command line would be pretty powerful. + +I'm certainly willing to do my part if you welcome help developing. Although it's way more fun to develop for the command line than for android! + +A: There is a taskwarrior package for Termux. + +It's also possible to send notifications using the Termux-API extension, so I guess you could write a script & a cron job to get the notifications you want (I did something similar in order to always have the most urgent task as a notification). + +Termux is pretty awesome IMHO. Definitely worth checking it out. + +Hope that helps. + +A: This is a common question, and deserves a detailed answer, although not the one you want. + +Is there a chance that there will be an Android client? Yes there is a chance, but I'm not an Android developer, so I won't be writing it. +There are tens of thousands of Android developers out there and as this question comes up a lot, combined with the number of Taskwarrior users out there, I had hoped that a solution would have appeared by now. + +But this hasn't happened, so I think the chances are small. +To be fair, there have been about six attempts that I know of, but these efforts start and don't finish. +Mostly these have not been serious attempts to begin with, and don't get beyond the first few steps, which seem to focus on putting up some kind of UI, and not on the necessary technology behind that. + + This is something we already knew - writing any app with a non-trivial feature set is difficult. +It's not the kind of thing you can do in a couple of weekends. +Trivial apps are trivial to create, but secure syncing and notifications (both highly desirable features that you listed) are not trivial features. + +Your offer to help is important though - we need more people like you to get this done. +Join us on IRC, there are folks there that also want this. + diff --git a/content/support/faq/faq.205.md b/content/support/faq/faq.205.md new file mode 100644 index 00000000..e6b0dd04 --- /dev/null +++ b/content/support/faq/faq.205.md @@ -0,0 +1,36 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: recurring tasks with flexible wait/due dates? + +Let's say I have a recurring task like "give medicine to cat" that recurs every 30 days, with wait set to "due-1days". + +So the task instances might be due Feb 13, March 14, April, 13, etc + +But the important thing is the next instance should be due 30 days after the COMPLETION of the previous instance. For example, let's say I forget to do my task (or cannot do it) and instead of doing it on Feb 13, I do it on Feb 23. + +Now the next instance is due March 14, but that is too soon because the medicine has to be given 30 days after the last time it was given. So the real due date should be Feb 23 + 30 days. + +These kinds of tasks come up a lot. You should do them every X days, but if you forget and do it late, the next instance should be the current instance's completion date + X days, so it should be flexible. + +The other thing is that new instances shouldn't be created automatically even when the user is inactive, but should be one new instance per one completed instance. Like if I have a task "take medicine" which recurs daily, if I forget a few days I should not have 4 instances of the same task, which is obviously wrong. There should just be one instance, notifying the user to take the medicine 1 time, not 4 times at once. + +Is there any way to do any of this? + +A: You're describing a style of recurrence that we don't really have a name for, and have not yet implemented. Here is a detailed description of how recurrence works today: + +https://taskwarrior.org/docs/recurrence.html + +Here is a sample of some requests which discuss how recurrence will work in future releases: + +https://github.com/GothenburgBitFactory/taskwarrior/issues/270 +https://github.com/GothenburgBitFactory/taskwarrior/issues/1534 +https://github.com/GothenburgBitFactory/taskwarrior/issues/1318 +https://github.com/GothenburgBitFactory/taskwarrior/issues/1775 +https://github.com/GothenburgBitFactory/taskwarrior/issues/178 +https://github.com/GothenburgBitFactory/taskwarrior/issues/203 +https://github.com/GothenburgBitFactory/taskwarrior/issues/97 +https://github.com/GothenburgBitFactory/taskwarrior/issues/146 +You have ideas - please make sure they are represented in the above list, and so can be considered when the work begins. + diff --git a/content/support/faq/faq.206.md b/content/support/faq/faq.206.md new file mode 100644 index 00000000..31358a0b --- /dev/null +++ b/content/support/faq/faq.206.md @@ -0,0 +1,39 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Taskwarrior as a .so library? + +I'm newly trying out taskwarrior and can see a lot of benefits in its CLI-based design. + +However I also think it'd be great to enable more web-based/mobile/etc. clients too. +Clearly, some variety of these already exist, but it looks like joining a web API back-end (e.g. REST) to taskwarrior is tedious and pretty error-prone: it either implies execing a task process per API call and taking a lot of care on command line arguments, and/or JSON export/import, or manually working the *.data files (bad, clearly). + +It looks like there's quite a lot of reinventing the wheel going on for this across different higher level languages (Python bindings, Ruby, Node, etc., all effectively making system() calls to run `task` AFAICS). +Linking things up to get the benefits of the taskwarrior filter syntax/grammar seems to have been beyond many client-facing add-on apps. +FWIW it also looks like tasksh is going down the same routes. + +IMO it would be really nice to be able to separate task into two pieces - the CLI client with its stable commands, and an in-process library with the back-end engine pieces. +That would make it easier to embed taskwarrior securely into "web" back-end languages (for example) and also hopefully encourage development of a standard API, even standard RESTful API, for tasks, annotations, tags, etc. + +Is this something that has been discussed at all? Has it been considered? + +A: This has been discussed, and isn't likely to happen. + +You may not be aware of the lack of C++ binary interface standards or the difficulty of shoe-horning C++ objects into a well-designed C API for exposure via .so. +No one wants to do this, and neither do you, which is why you ask about the possibility. + +That said, you have several alternatives: + +There are already several bindings type libraries/modules that provide an API to a large part of the functionality. +These are being used today, and are supported by their authors. Using these is recommended. The mechanism used is a mix of JSON import/export and direct calls. +Stepping down a layer, communicating via JSON import/export is another way to add a front-end to Taskwarrior. If instead you are looking for full support for filtering, talk to the authors of Option 1. +Write your software in C++ and link to the actual code. +This is not recommended, because there is no desire to stabilize the object APIs. Tasksh is not doing this, but an earlier version did. +It's gone now, for very good reasons. +You do the work - this is open source, after all. But this involves things that are technically hard, perhaps impossible, and will take significant time. +Pay/motivate someone to attempt option 4. +As you pointed out, direct I/O on the *.data files is a very bad idea, because it means you would need to support the four current file formats, and respond to the fifth format, which may happen soon, not to mention implement recurrence, waiting and other features. + +https://taskwarrior.org/docs/3rd-party.html + diff --git a/content/support/faq/faq.207.md b/content/support/faq/faq.207.md new file mode 100644 index 00000000..5922b617 --- /dev/null +++ b/content/support/faq/faq.207.md @@ -0,0 +1,21 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Shortcut: verify latest modification? + +Let's say I do: + +task 1 modify due:1w +Modifying task 1 'test'. +Modified 1 task. + +Now I'd like to verify my latest changes if everything is correct. + +Which command would show me the task that was last one to be modified? + +A: This will show you the last task added in version 2.5.0+: + +$ task +LATEST +But there is no record made of the last task modified. + diff --git a/content/support/faq/faq.208.md b/content/support/faq/faq.208.md new file mode 100644 index 00000000..48613ec0 --- /dev/null +++ b/content/support/faq/faq.208.md @@ -0,0 +1,11 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Is task server protocol stable and documented? + +Can I use a task server protocol to write a front-end on top of it? + +A: You can. +The protocol is documented on the site, as well as things that a client is responsible for. + diff --git a/content/support/faq/faq.209.md b/content/support/faq/faq.209.md new file mode 100644 index 00000000..078db471 --- /dev/null +++ b/content/support/faq/faq.209.md @@ -0,0 +1,32 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Import multiple tasks with dependencies + +When I plan a project I usually write down all my tasks and subtasks into a simple file. Something like this + + + +task1 + foo1 + foo2 + bar + bar1 + bar2 + bar3 + foo3 +task2 + kee1 + kee2 + kee3 + + +I know I can represent subprojects with task1.bar but many of these task have common characteristics such as `project:SuperMegaProject`. + + + +What would be a good way to import the list above into task including all its dependencies without doing `task add project:SuperMegaProject.task1.bar bar1` for each item? + +A: You could use tags. They're very general in purpose. I use some common tags like +bug or +feature but they are a great way to tie projects together too. I might have projects foo and bar independently but I may also want a baz sub-project to both foo and bar yet not want to have baz as a project in and of itself, so I would just tag certain tasks belonging to foo or bar with +baz. + diff --git a/content/support/faq/faq.210.md b/content/support/faq/faq.210.md new file mode 100644 index 00000000..cc86f95f --- /dev/null +++ b/content/support/faq/faq.210.md @@ -0,0 +1,44 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Is it possible to sync per-context? + +Hi, + +I want to use taskwarrior at home and at work, but I don't want to store personal tasks in the work computer. Is it possible to sync a subset of the database, for example, only a context 'work'? + +Thanks, + +A: Sync is not a filtered operation, so no, this is not supported. + + + +But there are options. + +One configuration file, two task databases + +$ alias taskw='TASKDATA=~/.taskwork task' +$ alias taskp='TASKDATA=~/.taskpers task' +$ +$ taskw add This is a work task +$ taskp add This is a personal task +This keeps your data in separated databases, but because it uses the same configuration file, sync will get messed up. +You probably want... + + + +Two configuration files, two task databases + +$ alias taskw='TASKRC=~/.taskrc_work task' +$ alias taskp='TASKRC=~/.taskrc_pers task' +$ +$ taskw add This is a work task +$ taskw sync +... +$ taskp add This is a personal task +$ taskp sync +Error +The idea is that the .taskrc_work file configures the Taskserver, but the .taskrc_pers file does not. +Each of the configuration files must use a separate database, ie the data.location setting in each file needs to be different. + diff --git a/content/support/faq/faq.211.md b/content/support/faq/faq.211.md new file mode 100644 index 00000000..52372fea --- /dev/null +++ b/content/support/faq/faq.211.md @@ -0,0 +1,17 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Non-cumulative burndown report + +Hi, I have been using taskwarrior for almost a month now and I am really enjoying it! It is the only task program I have managed to stick with recently, and I don't see any reason for me to stop anytime soon (apart from me just jinxing it). So thanks for a great program! + +To the actual question; is it possible to create a non-cumulative burndown report? I mostly use `burndown.daily` and while the current report is already very useful, it would be well complemented by a non-cumulative report, which would facilitate identifying peaks and trends in the amount of tasks created and completed each day or week. With the cumulative report it gets a little difficult to notice just a few additions/completions since they are contrasted with all the tasks ever added/completed. E.g. with around 50 tasks done and pending, it is difficult to see the impact I get from completing 1 extra task today, but that extra task would seem more important if I was only comparing it with what I did yesterday. + +A: There isn't a non-cumulative variation of the burndown chart. + +To create the chart you want, you would need to change the burndown report in C++. +You could alternatively export the data and load it into something that can draw the chart you want, or script it. + +It would be a good idea though to write up a feature request. + diff --git a/content/support/faq/faq.212.md b/content/support/faq/faq.212.md new file mode 100644 index 00000000..f0fb474b --- /dev/null +++ b/content/support/faq/faq.212.md @@ -0,0 +1,14 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Recur without until: + +Hello - thank you for taskwarrior. If I set a task to recur and set an "until:", I understand that the task will keep recurring on the assigned periodicity until that date, after which no more copies are auto-created. + +What do I do if I don't want it to ever get deleted, i.e., remembering to renew some yearly license. + +Do I just not set the until: ? + +A: Yes, that's correct. Recurrence templates (or any tasks for that matter) will not get auto-deleted if the 'until' attribute is not set. + diff --git a/content/support/faq/faq.213.md b/content/support/faq/faq.213.md new file mode 100644 index 00000000..e86ba038 --- /dev/null +++ b/content/support/faq/faq.213.md @@ -0,0 +1,19 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: PeriodSymbols not working + +Hi. + +I am trying to display the completed tasks over the last 7 days. I have tried + +task completed end.after:-7days +but this just lists all completed tasks. Today is monday and I would like to list all completed tasks for the previous week. What am I doing wrong? I am using version 2.5.1 Thank you + +A: Just try + + + +task completed end.after:today-7days + diff --git a/content/support/faq/faq.214.md b/content/support/faq/faq.214.md new file mode 100644 index 00000000..c05ac04d --- /dev/null +++ b/content/support/faq/faq.214.md @@ -0,0 +1,18 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Less verbose info report + +Is there any way not to include the history in the info report? Sometimes it can get pretty long. + +A: There are two ways of reducing this: + +1. Set journalling off: + +$ task config journal.info off + +2. Deleting your undo.data file. +This file grows and grows, but if you don't mind losing the ability to undo changes, you can just regularly delete this, and the info report will be smaller and run faster. + Comment + diff --git a/content/support/faq/faq.215.md b/content/support/faq/faq.215.md new file mode 100644 index 00000000..1503b238 --- /dev/null +++ b/content/support/faq/faq.215.md @@ -0,0 +1,12 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Is there an updated command reference + +Previously somewhere I saw an old command reference cheat-sheet for taskwarrior. + +Is there an updated version of this somewhere? + +A: Yep: https://taskwarrior.org/download/ + diff --git a/content/support/faq/faq.216.md b/content/support/faq/faq.216.md new file mode 100644 index 00000000..e3a41ecf --- /dev/null +++ b/content/support/faq/faq.216.md @@ -0,0 +1,24 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Tags with numbers in them + +I'm using TaskWarrior for my GTD and I'm extremely happy with it. However, after temporarily moving to my old laptop I have lost the ability to use my tags. I have set up a group of tags 1.now, 2.next, 3.soon, 4.later, ... and I would use them instead of fixed deadlines with the due: command. + +Now, when I issue the command: + +$> task add +important +1.now +@home Important action +this is the result: + +$> task +[task list] +ID Age Tags Description Urg + 1 1s @home important +1.now Important action 0.9 +I cannot use any tags that have numbers in them, they get added to the description of the task. Has anyone coped with this problem and knows how to fix it? + +I was able to use these tags on a previous laptop, they both run Ubuntu 15.10, the same bash, the same .bashrc... + +A: It's a limitation: tags cannot begin with a number, or contain a space. +In your example, it's worse because "+1.now" looks like math, or a malformed DOM reference. + diff --git a/content/support/faq/faq.217.md b/content/support/faq/faq.217.md new file mode 100644 index 00000000..f7ada4d7 --- /dev/null +++ b/content/support/faq/faq.217.md @@ -0,0 +1,32 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Calendar and holiday questions + +Hello - in the man file for taskrc it explains how to add holidata holidays to .taskrc, so it was no problem getting them to appear. I do consulting with people in various countries, and I like to know when they are on holiday so I can give them a greeting or know they won't be available. If I add more holidays than what I have, US and JP, it's a little confusing. + +So, first: Can I customize the little list that shows up, so that it prepends the country? + +2016-04-18 US Patriots' Day +2016-04-29 JP ???? +And second, the holiday files are hard coded to a specific version. Do you happen to know if there's a skillful way to tell it to variable-ize the version? + +A: ncluding multiple holiday files works, and the data does not collide. +But they are not distinguished with the country code in the description. +You could manually edit the files and add a "US" or "JP" prefix to the description. + +The Timewarrior/Taskwarrior difference is that Timewarrior uses a namespace approach, and Taskwarrior has a flat configuration structure. +The only real difference is readability of the holiday file. + +The problem with simply listing locales, and having Taskwarrior find the files is that the location is different on various operating systems, and versions of operating systems. +Getting this wrong would not only be likely, but not readily correctable, so using an include directive with a path is easier to fix. +There are also those who want to choose their own file locations. + +You can include a symlink, for example: + +include ~/.task/holidays.en-US +Then make that symlink yourself with this: + +$ ln -s /path/to/real/holidays.en-US ~/.tsak/holidays.en-US + diff --git a/content/support/faq/faq.218.md b/content/support/faq/faq.218.md new file mode 100644 index 00000000..34068e4d --- /dev/null +++ b/content/support/faq/faq.218.md @@ -0,0 +1,28 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Find what tasks are associated with a mis-named project + +Hello - I'm finding that taskwarrior is like vim, you learn something new every day, and it's wonderfully deep. But alas, my taskwarrior-fu is still green like a grasshopper, so I need to rely on the good support of the TW team. + +I renamed the project on a couple of tasks, from Sys.sipxecs to Sys.sipXecs, but when I run "task proj" I see: + +Sys 69 +... + sipXecs 4 + sipxecs 2 +... +I want to find those two tasks that seem to be still linked to the old name. How do I suss this out? + +A: You can find these using a filter. +Try one of these: + +$ task pro:Sys.sipxecs all +$ task project.contains:sipxecs all +$ task all pro \~ sipxecs +The last example puts the all command before the attribute pro because projects is also a command, and task treats the first command-like argument as a command. + +The all report is important here, because it has no filter, and therefore the results are exactly what you enter on the command line. For example, if the two tasks are already completed, using list will not find them. +The info report also has no filter. + diff --git a/content/support/faq/faq.219.md b/content/support/faq/faq.219.md new file mode 100644 index 00000000..d0334297 --- /dev/null +++ b/content/support/faq/faq.219.md @@ -0,0 +1,16 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Is it possible to change the color of annotations different from rest of task? + +I was wondering if it is possible at all to change the color of annotations so that they are different from the rest of the task? + +For example by using something like: + +color.annotation=white + +Would color all the annotations white. I like being able to view annotations but I find even with the indentation they make it hard to visually parse tasks. + +A: Not supported. + diff --git a/content/support/faq/faq.220.md b/content/support/faq/faq.220.md new file mode 100644 index 00000000..4665e82f --- /dev/null +++ b/content/support/faq/faq.220.md @@ -0,0 +1,31 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Tip: TW status one-liner + +This is not a question but rather a tip. I made a TW status one-liner in my .zshrc, which is convenient so I thought I'd share it. + +# tw status one-liner +tw_get_status_line () { + echo "TW Done:$(task count end.after:today) Due:$(task count +DUE) Overdue:$(task count +OVERDUE) Next:$(task count +next)" +} +alias tws=tw_get_status_line + + +I alias the function and now just type tws to get a couple of stats I like to see. Season to your liking. I use this in zsh, but this should also work in bash .bashrc. + +A: This reminds me of liquidprompt which I enjoy because of its git integration, and the way it piles on so much stuff, so I would want to extend your prompt to include: + +Number of active tasks: + +$ task +ACTIVE count +Or perhaps just an indicator character that there are active tasks. + +The need for a sync, which is not readily available, but can be determined from the number of lines in ~/.task/backlog.data. +If it exceeds 1, a sync is needed. + +Name of any active context: + +$ task _get rc.context + diff --git a/content/support/faq/faq.221.md b/content/support/faq/faq.221.md new file mode 100644 index 00000000..1b9cdec7 --- /dev/null +++ b/content/support/faq/faq.221.md @@ -0,0 +1,24 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Can you show the days of the week in the due column? + +Something like... + +Due: + +2016-04-26 Tuesday + +Rather than... + +Due: + +2016-04-26 + +A: Yes. +Take a look at: + +$ man taskrc +Look for report.x.dateformat. + diff --git a/content/support/faq/faq.222.md b/content/support/faq/faq.222.md new file mode 100644 index 00000000..1d026250 --- /dev/null +++ b/content/support/faq/faq.222.md @@ -0,0 +1,17 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How do I change due, scheduled and wait all at once? + +When I set dates in a task I am usually setting them relatively with "wait:due-5d scheduled:due-3d" or the like. + +Is there an easy way to slide all the dates relatively, say if the task slips 3 days, via a script or some native command that I am missing? + +Another related question is, is the relativeness of the dates remembered, as first entered. Or, is that only when entering. + +A: All dates are realized on entry, so the relativeness is immediately lost. +But they can be modified relative to themselves: + +$ task modify due:due+1wk scheduled:scheduled+1wk wait:wait+1wk + diff --git a/content/support/faq/faq.223.md b/content/support/faq/faq.223.md new file mode 100644 index 00000000..ba97e3e3 --- /dev/null +++ b/content/support/faq/faq.223.md @@ -0,0 +1,13 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Is there a way to set searches to be case insensitive by default? + +task /search/ all by default is case sensitive - so it would match "search" but not "Search". I realize I could use regex to search for s or S, but can I make search case insensitive by default? + +A: Yes! If you read the man page: + +$ man taskrc +Then searching for either search, case or insensitive will take you right there. + diff --git a/content/support/faq/faq.224.md b/content/support/faq/faq.224.md new file mode 100644 index 00000000..63830c42 --- /dev/null +++ b/content/support/faq/faq.224.md @@ -0,0 +1,64 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: taskd with external hostname + +This project is amazing, I really want to make it work on my server. Thank you guys. + +I read the guide, good documentation, great work. (codeword Weasel) xD + +I'm having trouble to make taskd work with an external hostname. + +You suggest to run + +taskd server --debug --debug.tls=2 + +the resul is: + +s: INFO Client certificate will be verified. + +s: INFO IPv4: xx.xx.xx.xxx <----my ip + +### bind failed + +I have poor sysadmin experience, but I thing I'm almost there. Please help me! + +Thanks in advance + +A: I have found the same problem a couple of days ago, and fighting with it I have solved the following way: + +I have used the external server name on the client side +I have used on the server side the local IP +The error I found originally was as follows: + +Syncing with sub.domain.tld:53589 + +Could not connect to sub.domain.tld 53589 +Sync failed. +Could not connect to the Taskserver. +But the output of diagnostics and debugs was correct on both sides. The subdomain name was correctly resolved and pingable. It was not a certificate problem, since trust all did not solve the problem. + +Running the service from the system user created for this service (taskd), I could check what the problem was: + +$ taskd server --data $TASKDDATA --debug +### bind failed +Then the "Address already in use" line appeared in the log... + +Modifying the config file by hand, editing the line "server" from + + server = sub.domain.tld: 53589 +to + +server = 192.168.1.2: 53589 +Thinking that taskd needed to know what IP it was in, and considering that the server is behind a NAT and the request goes in with local IP, everything works now correctly. + +From local I resolve the subdomain name to local IP (via /etc/hosts), and from the outside resolves to the external IP of the NAT, which passes the request locally and works correctly. + +$ task sync init +Please confirm that you wish to upload all your pending tasks to the Taskserver (yes/no) yes +Syncing with sub.domain.tld:53589 + +Sync successful. +No changes. + diff --git a/content/support/faq/faq.225.md b/content/support/faq/faq.225.md new file mode 100644 index 00000000..a6386958 --- /dev/null +++ b/content/support/faq/faq.225.md @@ -0,0 +1,21 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Task with no ID + +When I set in ~/.taskrc: + +report.list.filter=-home +suddenly a task with no ID ('-') named 'Test' appears. + +If I comment previous line this task does not appear in 'task list'. And it does not appear in 'task list -home'. + +Is this a bug? I don't remember if it was me who created such task. + +A: As answered via IRC, I should append 'status:pending' to my filter, which is the default behaviour. 'Test' must be and old task. + +Use 'task show' to see default filters. + +A: Right. Only pending tasks have IDs. + diff --git a/content/support/faq/faq.226.md b/content/support/faq/faq.226.md new file mode 100644 index 00000000..19accc98 --- /dev/null +++ b/content/support/faq/faq.226.md @@ -0,0 +1,26 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Problem accessing tasks from code... + +I'm new to TW (2.5.1) and after using it from the command line for a while, am trying to interact with it from Scala code. + +My initial playing with this has involved running "task add" as a system command to add a task as a simple string with no other attributes, and parsing the ID of the new entry from stdout. That works fine. + +Immediately after that (ie. the next line of code) I'm using "task export nn" so I can get all the attributes for the new entry, especially the UUID. My problem is that the ID of the task changes between adding it and trying to export it. TW says "Created task 11", but when I do a "task list", it is in there as 10. + +I see from the docs that IDs can change, which I guess is what's happening, and so my question is how I retrieve my newly added task, given that I don't know the UUID, the ID has changed, and the description may not be unique. + +Or is this not the way I should be approaching this? + +A: If you are using Taskwarrior as a back end to your app, then communicating via the command line interface using IDs is not the right way to do that. +IDs are transient conveniences for users, not for programs. + +Using the import and export commands is how you should be getting data in and out. +If you need that UUID, then why not just provide your own on import? Just be sure to use a proper UUID generation library, and don't do it using random numbers. + +See this, and various other online resources written specifically for this: + +https://taskwarrior.org/docs/3rd-party.html + diff --git a/content/support/faq/faq.227.md b/content/support/faq/faq.227.md new file mode 100644 index 00000000..017748a8 --- /dev/null +++ b/content/support/faq/faq.227.md @@ -0,0 +1,22 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Can I create shorter aliases for keywords? + +Is there a simple way to set my own shorthand for Taskwarrior commands and keywords? + +For example, I might use pri: and pro: for priority: and project:, to let me add metadata with fewer keystrokes: + +task add Buy blacklight pri:L pro:Slacking + +I thought there might be built-in aliases akin to what I was looking for, but I didn't find them searching the online docs, or by running task commands and task _aliases. + +Thanks in advance! + +Edit: I found documentation for adding command aliases, but that method does not seem to work with the project: keyword. + +A: Taskwarrior already supports abbreviated commands and attributes. + +Look in the task.1 man page, under "ABBREVIATION". + diff --git a/content/support/faq/faq.228.md b/content/support/faq/faq.228.md new file mode 100644 index 00000000..cdcc292c --- /dev/null +++ b/content/support/faq/faq.228.md @@ -0,0 +1,28 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: ways to handle follow-up + +I was wondering how Taskwarrior users were handling followup of their tasks. + +By “followup” I mean « check that I got an answer when I left a message or sent an email » (calling or sending the email being the task reccorded in Taskwarrior) or « ping J.Doe one week after I sent him an email to ask for something » (sending the email being the task recorded in Taskwarrior). + +Is it better to update wait: and due: dates and eventually add an annotation to the task? But then the task is cluttered and one looses a kind of atomicity. + +Or actually flag the task as done and create a new task? (eventually with a specific tag such as +followup). One looses the relationship with the main task I think with this solution. + +Or any other solution? + +A: I'm not sure there's a good answer for you. + +It seems there is a need to record the expectation of a response. +That could be an annotation with a date in it, or perhaps a new task representing the response, with the original task depending on the response. + +A: I am tagging such tasks with +delegated, and changing due and wait. Then it's trivial to just do "task +delegated" to see what I'm waiting for. When the wait opens the task, I follow it up and make an annotation on it like: + +task 111 done "Sari did the purchase; cost was 9,999." + + +What would help me is en passant annotation when I'm updating due and wait but I have not figured it out. + diff --git a/content/support/faq/faq.229.md b/content/support/faq/faq.229.md new file mode 100644 index 00000000..0a4fd062 --- /dev/null +++ b/content/support/faq/faq.229.md @@ -0,0 +1,12 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to display completed time in report? + +In the 'end' column of a report, it just shows the date it was done. Can this be expanded to show the actual time as well? + +A: If you do "task columns end" you can see there's other formats to use in a custom version of whatever report, so, I think it is possible. I'm afraid I have not experimented with this much yet, but, this gives some more info: + +https://taskwarrior.org/docs/report.html + diff --git a/content/support/faq/faq.230.md b/content/support/faq/faq.230.md new file mode 100644 index 00000000..099de6f0 --- /dev/null +++ b/content/support/faq/faq.230.md @@ -0,0 +1,16 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: timewarrior: how to shorten yesterday's task? + +Timewarrior is very neat. I can modify today's tasks easily by first getting their ids, then using shorten. However mistakes that I get come from not stopping the task and now it spans 2 days. How can I shorten that task effectively, if it started yesterday and ended yesterday? IDs change every day, it seems. + +A: OK, I know I can shorten it for the adequate number of hours if it still remains on today's list (i.e. started at 00:00). Say I have task from yesterday starting at 22:00, completed at 22:30 and I forgot to complete it in taskwarrior. I remember about this today at 10:30. If I do: + +timew status :ids +It will give me the task ID of `@1` and it would have duration for 10 hours and 30 minutes. (Which is slightly misleading - it only has this duration because it is counted from 00:00). I can shorten it properly by doing: + +timew shorten @1 13.5h +It will correctly make the task 30 minutes long in timewarrior and it will no longer be on today's list. If I still need to adjust this yesterday's task, I cannot do it. + diff --git a/content/support/faq/faq.231.md b/content/support/faq/faq.231.md new file mode 100644 index 00000000..23389eb4 --- /dev/null +++ b/content/support/faq/faq.231.md @@ -0,0 +1,19 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Which task generated the error? + +I woke up this morning and ran task, and it gave me this warning: + + + +Warning: You have specified that the 'wait' date is after the 'scheduled' date. + + +How can I figure out which task it is referring to, without editing each individual task to see? + +A: Use a filter: + +$ task wait.after:scheduled all + diff --git a/content/support/faq/faq.232.md b/content/support/faq/faq.232.md new file mode 100644 index 00000000..46319bd1 --- /dev/null +++ b/content/support/faq/faq.232.md @@ -0,0 +1,21 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: filter based on count? + +I have a custom report with this filter: + +report.soon.filter=(status:pending or status:waiting) due.before:30d + that lets me see some upcoming "waiting" tasks, but not all of them + +Is there a filter option that says "show me 15 tasks" ? + +I know I can use head, but piping the output means I lose colors and such. + +A: https://taskwarrior.org/docs/examples.html + +Use this: + +task ... limit:15 + diff --git a/content/support/faq/faq.233.md b/content/support/faq/faq.233.md new file mode 100644 index 00000000..9d735997 --- /dev/null +++ b/content/support/faq/faq.233.md @@ -0,0 +1,45 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: urgency.scheduled not being applied + +I don't know if this is a bug or just my misunderstanding. + +task 2.5.1 built for linux + +Name Value +ID 5 +Description southwest flight checkin +Status Pending +Entered 2016-08-12 08:47:27 (3mo) +Scheduled 2016-11-18 09:20:00 +Due 2016-11-18 09:50:00 +Last modified 2016-11-15 16:01:27 (18h) +Tags home +Virtual tags DUE MONTH PENDING SCHEDULED TAGGED UDA UNBLOCKED WEEK YEAR + PRIORITY +UUID 6fa5de3e-6aee-41f7-b13d-4292588ac37d +Urgency 15.22 +Priority H + + tags 0.8 * 1 = 0.8 + due 0.658 * 12 = 7.89 + age 0.263 * 2 = 0.526 + UDA priority.H 1 * 6 = 6 + ------ + 15.22 + + + + +This task has a "scheduled" date and a SCHEDULED virtual tag, but the urgency.scheduled coefficient is not being applied. +Should it be? + +A: This is expected. +The scheduled coefficient only comes into play when the task is ready. +In other words when scheduled < now. + +Your task has a scheduled date in the future, which means the task is not ready to start working on, and the urgency from the scheduled coefficient is zero. +You'll see the urgency jump up on 2016-11-18, by the amount of the scheduled coefficient. + diff --git a/content/support/faq/faq.234.md b/content/support/faq/faq.234.md new file mode 100644 index 00000000..2845132f --- /dev/null +++ b/content/support/faq/faq.234.md @@ -0,0 +1,9 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Can I sync Timewarrior with Taskserver? + +A: No. +Taskserver syncs only tasks. + diff --git a/content/support/faq/faq.235.md b/content/support/faq/faq.235.md new file mode 100644 index 00000000..feffd169 --- /dev/null +++ b/content/support/faq/faq.235.md @@ -0,0 +1,13 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Can I add an indicator for the UDA value? + +Something like this + +uda...indicator=U +uda.priority.H.indicator=?? + +A: An indicator format shows the presence or absence of data, not the presence of absence of a specific value, so to answer the question title, yes, see "{{man taskrc}}". To the specific example in the question, no. + diff --git a/content/support/faq/faq.236.md b/content/support/faq/faq.236.md new file mode 100644 index 00000000..cb0c55d4 --- /dev/null +++ b/content/support/faq/faq.236.md @@ -0,0 +1,24 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to import todo.txt + +I have been using todo.txt task managers for a while (including the original shell, topydo, various apps, etc.) but now I would like to try out taskwarrior too. In order to do that, however, I would like to import my existing todo.txt with more than a hundred tasks. + +I looked into the taskwarrior JSON documentation, but unfortunately I am not familiar with text manipulation enough to convert my txt into the appropriate format. + +I might do it manually/regular expressions, but I was wondering if there is already out there a way to do that relatively easily? Or, if there is no a worked out way, how should I approach the problem? + +A: https://taskwarrior.org/download/import-todo.sh.pl + +This is a Perl script that can convert todo.txt data format to JSON. +Then you just import the JSON into taskwarrior. +You would do this: + +$ curl -O https://taskwarrior.org/download/import-todo.sh.pl +$ perl import-todo.sh.pl < todo.txt > taskwarrior.json +$ task import taskwarrior.json +You'll need the Perl JSON module installed. +Note that any extensions to the todotxt format that you are using wil not likely be recognized, but this script should provide a good starting point. + diff --git a/content/support/faq/faq.237.md b/content/support/faq/faq.237.md new file mode 100644 index 00000000..7832e87e --- /dev/null +++ b/content/support/faq/faq.237.md @@ -0,0 +1,16 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to create a task and start it directly + +Is it possible to create a task and start it directly? Is there something like a return-value to use? + +something like: + +task $(task add some thing) start + +A: You can do this: + +$ task add ... start:now + diff --git a/content/support/faq/faq.238.md b/content/support/faq/faq.238.md new file mode 100644 index 00000000..d1c83b99 --- /dev/null +++ b/content/support/faq/faq.238.md @@ -0,0 +1,34 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to run shell command inside tasksh (or evaluate another task-command) + +From the shell you can run + +task $(task some thing uuid) status:pending +to evaluate the task-command inside parentheses and give the result to the task command (here: get the uuid and set it to status:pending) + +I am not able to get this work inside the tasksh -shell. Is this possible? + +So: + +shell$ tasksh +task> $(task desc.is:bla stat:complete uuid) stat:pending + +gives an error: [Michmatched parentheses in expression] + +(How) does this work? + +A: From the tasksh 1.1.0 man page: + +exec + This command allows you to run shell commands from within + Tasksh. This is ideal for accessing man pages such as this. + The '!' command can be used in place of the 'exec' keyword. + Once the command is run, control returns to Tasksh. +But that requires tasksh-1.1.0 installed. + +The 2.3.0 you are using has a tasksh command which supports an undocumented xc command. +This older tasksh has been replaced by the above. + diff --git a/content/support/faq/faq.239.md b/content/support/faq/faq.239.md new file mode 100644 index 00000000..a894d6b1 --- /dev/null +++ b/content/support/faq/faq.239.md @@ -0,0 +1,16 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Duplication of recurring tasks in syncing + +I'm having troubles since I added a recurring task (red pills, daily). I compiled myself TaskWarrior 2.5.1 from the source on linux and in cygwin. Taskserver is freecinc.com. The issue is that every time I sync between the two machines, the task gets duplicated. + +I noticed that the win machine assigns the mask index as a float, while the linux machine does it as an integer. Could this be the source of the issue? Any pointer? + +A: This is a known problem (https://github.com/GothenburgBitFactory/taskserver/issues/46). +The workaround is to enable recurrence on only one of the clients, in your case this should be the Linux client. +So disable recurrence on the Cygwin client with: + +cygwin> task config recurrence off + diff --git a/content/support/faq/faq.240.md b/content/support/faq/faq.240.md new file mode 100644 index 00000000..0d4dcbb8 --- /dev/null +++ b/content/support/faq/faq.240.md @@ -0,0 +1,11 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Is it possible to sync .taskrc content? + +I am especially interested whether I can sync reports and contexts between clients, because at the moment I do not see how I could do it. + +A: You can sync your configuration using DropBox or similar shared drive services. +Taskserver syncs tasks only. + diff --git a/content/support/faq/faq.241.md b/content/support/faq/faq.241.md new file mode 100644 index 00000000..86c96c31 --- /dev/null +++ b/content/support/faq/faq.241.md @@ -0,0 +1,18 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Is there a reason the 'next' report doesn't use +READY? + +I've noticed the next report to show me tasks with dependencies (which are in the pending state, as per the filter). Though these tasks are not actionable, so should not be shown at all (they're distracting me). + +I've for now changed the next report and replaced status:pending with +READY instead. Is that what I'm supposed to do? + +(hint: I'm trying to do GTD here) + +A: I think because the next report predates the READY virtual tag and scheduled attribute. + + + +But there's no reason why your next report shouldn't use it. + diff --git a/content/support/faq/faq.242.md b/content/support/faq/faq.242.md new file mode 100644 index 00000000..1ea2cfba --- /dev/null +++ b/content/support/faq/faq.242.md @@ -0,0 +1,12 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Change color theme at command line? + +My .taskrc specifies the color theme I use about 95% of the time. +But a couple of specific places, I need to use a different color theme. +Can that be done at the command line? Or only in the .taskrc ? + +A: Only in the .taskrc, however you can change .taskrc at the command line, or via environment variables. + diff --git a/content/support/faq/faq.243.md b/content/support/faq/faq.243.md new file mode 100644 index 00000000..286f5f45 --- /dev/null +++ b/content/support/faq/faq.243.md @@ -0,0 +1,23 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Task is deleted, but keeps showing up + +Recently I batch deleted the tasks of a given tag : + +task +groceries delete +Problem is, if I type the same command again, I get rows and rows of : + +Task 0 'article' is not deletable. +Similar problem happens with + +task +groceries delete +How to prevent those task to crawl back into my terminal? + +A: The filter you are using needs to be more specific, because as-is you are attempting to delete already deleted tasks. +You need to restrict it to only the pending tasks. +Use this: + +$ task +groceries +PENDING delete + diff --git a/content/support/faq/faq.244.md b/content/support/faq/faq.244.md new file mode 100644 index 00000000..5253f8b2 --- /dev/null +++ b/content/support/faq/faq.244.md @@ -0,0 +1,20 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Highlight task in calendar for its whole duration + +I would like to highlight the whole length of a task in the calendar and not only the first day, for example the duration of a vacation: + + task add Vacation due:2017-03-19 recur:daily until:2017-03-31 +Entering 'task calendar' highlights only the first date of the task as due but not the whole time range. + + + +How can i highlight the whole duration from due to until of a task in the calendar? + +A: Taskwarrior is not a calendar. +It does not recognize concepts like "duration". + +I would recommend https://www.roaringpenguin.com/products/remind . + diff --git a/content/support/faq/faq.245.md b/content/support/faq/faq.245.md new file mode 100644 index 00000000..b94c81a9 --- /dev/null +++ b/content/support/faq/faq.245.md @@ -0,0 +1,23 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Timewarrior & Taskwarrior: How to represent never-ending tasks? + +What's a reasonable way to represent never-ending tasks for the purposes of tracking time when using the taskwarrior hook? Take, for instance, email, which is not really a task you can cross off, but still something you'd prefer to log time against. + +A: Good question. +Here are two suggestions: + +Create a "Process Email" task, with an email tag, but do not assign a due date. +Then just start and stop this task whenever you are dealing with email, but never complete or delete it. +The Timewarrior hook will keep track of the time spent. + +You can define an urgency coefficient for the tag 'email' if you want to influence its position on your next report, as perhaps you want to see this task all the time, or perhaps you don't. + +Don't create a task, but instead just use Timewarrior directly like this: + +$ timew start 'Process Email' email +... +$ timew stop + diff --git a/content/support/faq/faq.246.md b/content/support/faq/faq.246.md new file mode 100644 index 00000000..917ff997 --- /dev/null +++ b/content/support/faq/faq.246.md @@ -0,0 +1,13 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How do I clear age of a task? + +For some tasks, instead of recurrence (because they don't have a regular time period), I like to just move them to a next day (due and wait), so I don't have to create them again. +What's the best way to reset the age of the tasks for these? + +A: Modifying the entry date is what you want: + +$ task modify entry:now + diff --git a/content/support/faq/faq.247.md b/content/support/faq/faq.247.md new file mode 100644 index 00000000..149ec168 --- /dev/null +++ b/content/support/faq/faq.247.md @@ -0,0 +1,27 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How do you handle these two situations? + +Hi, I'm wondering you have any best practices for these two situations: + +1. I have a list of things (ie: a grocery list) that should be done together. +2. I have tasks that are a member of my family's actions (ie: schedule a house inspection). They're independent of each other. For example, schedule a house inspection is a different project and timeline then pick up packages. I'm torn between having it all, but it clutters my reports with things I can't take action on. + + +I don't have a good solution for #2, but for #1, I have a separate Taskwarrior instance that is lists-only. A project would be 'shopping' and tags would be 'amazon', 'ebay', 'home depot', and any other appropriate ones (since I could buy an item at multiple locations). The downside is it detaches the list of items and the need to go from my main Taskwarrior instance: I need a separate task in main when I create a new shopping list to eventually go shopping. + + + +How do you handle these two situations? Since I don't have any answer to #2, I'm really curious what others do there. + +A: I think the solution to item #2 is just one of perspective. +All of the items are things you need to do, so they belong in Taskwarrior. +The problem, I think, is that you are looking at the whole set all the time. + +You could create a custom report named 'grocery' that filters only tasks with a 'shopping' tag. +Then you just need to make sure that the right tasks have the right tag, and use the right report at the right time. + +Your report is likely cluttered because you are looking at the set of all tasks as one list, and not as a collection of lists, which you pull out using tags. + diff --git a/content/support/faq/faq.248.md b/content/support/faq/faq.248.md new file mode 100644 index 00000000..ca74f70d --- /dev/null +++ b/content/support/faq/faq.248.md @@ -0,0 +1,30 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: What are subprojects? + +I see subprojects (e.g project:Mainproject.Subproject) mentioned twice in the example workflow page, but they do not seem to be documented anywhere. They also don’t appear to be associated with the main project in any of the reports in my tests. +Are subprojects simply a naming convention? And they are really just a completely separate project with a . in the filename which makes it looks like there is a hierarchical structure? +Edit: Also mentioned here https://taskwarrior.org/download/tw-ubcde11.pdf + +A: A project is a string. +If you use the ''.'' notation in the string, then it affects filtering. +For example, you could have these tasks: + +$ task add project:Home ... +$ task add project:Home.Garden ... +$ task add project:Home.Garden.Vegetables ... +Then when you issue this filter: + +$ task project:Home.Garden list +... +you will see two tasks, because the project filter performs a leftmost match. + +A: In addition to xxx's answer, subtasks will also show up as indented under their Main task when running a command like `task summary`: + +Home + Garden + Vegetables +Completing tasks in subprojects will increase the progress in the main project, so taskwarrior indeed tracks them as part of that main project. + diff --git a/content/support/faq/faq.249.md b/content/support/faq/faq.249.md new file mode 100644 index 00000000..3535bbbf --- /dev/null +++ b/content/support/faq/faq.249.md @@ -0,0 +1,10 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Can I command without writing "task" each time? + +Hi, I just discovered Taskwarrior. If I start using this, I will likely keep a terminal window open all the time designated for it. Can I make it so that terminal window is always assumed to be in this app, so I can skip writing 'task" each time I enter a command? + +A: Just discovered the answer to my own question: tasksh + diff --git a/content/support/faq/faq.250.md b/content/support/faq/faq.250.md new file mode 100644 index 00000000..da306506 --- /dev/null +++ b/content/support/faq/faq.250.md @@ -0,0 +1,41 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: sync failed after six weeks usage on one client + +Hi there, and thanks for an awesome and truly unique taskwarrior. + +After using taskd on my own server during two months, one client stills syncs fine but one other client fails to sync with this error: + +Sync failed. +The Taskserver returned error: 500 ERROR: Could not find common ancestor for 33d0af5b-222a-4982-b533-46c50d723bb7. Did you skip the 'task sync init' requirement? + +And yes I did 'task sync init' two months ago, at least on the first client. Am I supposed to do this with subsequent clients, or will it then erase what is on the server? + +Sine it worked perfectly for six weeks I suspect something has gone wrong, what can I do? + +A: Here is how to fix this: + +Let's call your working client the primary, and all the other clients secondary. + +1) On your taskserver, make a backup of the data, and delete the taskserver data for your user. +It's safe - we just backed it up. + +$ tar czvf server.backup.tar.gz$TASKDDATA/Orgs +$ rm $TASKDDATA/Orgs/$ORG/users/$UUID/tx.data +2) On the primary client, backup the data, remove the invalid backlog.data file (this is safe), and push all data to the clean server. +This 'task sync init' is something you only do once per setup, for one client only. +It establishes a full copy of the data on the server, so that all subsequent transactions are just small deltas. + +$ tar czvf primary.backup.tar.gz ~/.task/{pending,completed}.data +$ rm ~/.task/backlog.data +$ task sync init +3) On all secondary clients, make a backup of the data, then perform a regular sync to download all data from the server. + +$ tar czvf secondary.backup.tar.gz ~/.task +$ rm ~/.task/{pending,completed,backlog}.data +$ task sync +If any step fails, stop and please report. +But don't worry - you made backups. + diff --git a/content/support/faq/faq.251.md b/content/support/faq/faq.251.md new file mode 100644 index 00000000..66bd3446 --- /dev/null +++ b/content/support/faq/faq.251.md @@ -0,0 +1,13 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Report sorting on the fly + +Is it possible to change the sorting of a report on the fly on the commandline? + +A: Yes. +Here is an example for the next report: + +$ task rc.report.next.sort=due-,urgency- next + diff --git a/content/support/faq/faq.252.md b/content/support/faq/faq.252.md new file mode 100644 index 00000000..df2fc887 --- /dev/null +++ b/content/support/faq/faq.252.md @@ -0,0 +1,15 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Increase a task's due date relative the previous due date instead of the current date? + +I guess I am basically looking for a “postpone” function that I can bind to an alias. So if a task is due in 2 days, but I realize I will not finish it on time. I would like to increase the due date with 1 day. Currently what I would do is to set due:3d, but I am using vit and it would be nice just to hit one key on the currently highlighted task and have its due date increased in one-day increments. +I tried due:+1d and due:-1d, but those set the due date relative the current day (just like due:1d) instead of relative the previous due date. + +A: While this is not a vit answer, this is how the command line tool delays a task by a week: + +$ task modify due:due+1wk + +A: make a .vitrc shortcut. Note also that there are prompt history. So if you type, e.g., "mdue:due+1wk", if you want to do the same thing on a different task, you can just do "m". Let me know if you have trouble making a .vitrc shortcut to do what you want. + diff --git a/content/support/faq/faq.253.md b/content/support/faq/faq.253.md new file mode 100644 index 00000000..c0364b82 --- /dev/null +++ b/content/support/faq/faq.253.md @@ -0,0 +1,16 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Can on-modify hook be triggered by a taskserver sync? + +My desktop computer is almost always running, and it is successfully syncing with my taskserver and updating timewarrior via the hook script. I have all of my devices sync with the taskserver every few minutes. However, when I change active task on a device other than my desktop, timewarrior is not modified even though the active task on my desktop is. Is there an easy way to make it so that when a taskserver sync changes the active task, the "on-modify" hook is triggered in order to update timewarrior? + +A: Tasks modified via sync do not trigger hooks. +This means there is no way to make this work at the moment. +There is a future plan for allowing this. + + + +Note that your sync "every few minutes" means that even if this did work, Timewarrior could be "a few minutes" off. + diff --git a/content/support/faq/faq.254.md b/content/support/faq/faq.254.md new file mode 100644 index 00000000..6ba789ad --- /dev/null +++ b/content/support/faq/faq.254.md @@ -0,0 +1,17 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Can't Sync Init -- Aborted (core dumped) + +Hello, I setup a Taskd server and am attempting to initialize the sync with a client. I've worked through the setup guide on taskwarrior.org, but when I get to syncing the client, I get an error. I enter in task sync init, and I get an error "Aborted (core dumped)". I am running version 2.5.1 on the Ubuntu subsystem for Windows. Any pointers would be very helpful. Thanks in advance! + +A: This was discussed online in IRC #taskwarrior, here is a summary of what we saw: + +This affects Windows and the Linux subsytem. +The task-2.5.1 binary package core dumped while making a getrusage call, which is not something Taskwarrior does. +Since there is only one dependency, GnuTLS, it seems that it is incorrectly making the call, at least in the 3.2.11 version that was in use. +Commands other than the sync command ran fine, further implicating GnuTLS. +The course of action as we left it was to build Taskwarrior from source, and try an upgraded GnuTLS. +No news yet... + diff --git a/content/support/faq/faq.255.md b/content/support/faq/faq.255.md new file mode 100644 index 00000000..ab70ef3f --- /dev/null +++ b/content/support/faq/faq.255.md @@ -0,0 +1,20 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: taskwarrior: how do I modify an existing annotation? + +I have an annotation I want to modify. I can find no docs or previous questions relating to that. Is it even possible? + +A: There are several ways to change an annotation. +To make a small modification, such as a spelling correction, the modify command will update annotations also: + +$ task modify /teh/the/ +For larger changes, use the edit command, which gives you complete access to all editable attributes: + +$ task edit +Last (and by all means least) you can simply remove an annotation and add it back: + +$ task denotate teh +$ task annotate Investigate the problem + diff --git a/content/support/faq/faq.256.md b/content/support/faq/faq.256.md new file mode 100644 index 00000000..0702dc5b --- /dev/null +++ b/content/support/faq/faq.256.md @@ -0,0 +1,38 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Quickly finding a task by description + +I find myself fairly frequently piping task list into grep (task list | grep "someregex") to find the ID of a particular task. Does taskwarrior have a built-in flow for this? + + + +If not, I often find that piping the list report into grep produces this rather unhelpful error and frequently line-breaks the tasks so that the ID is not in the same line as the description: + +"The report has a minimum width of 81 and does not fit in the available width of 80." + + + +Is there any way to avoid this? + +A: Here's a document you might find useful - there are many features you might want to know about: + +https://taskwarrior.org/docs/examples.html + + + +Meanwhile you can do this: + +$ task /someregex/ list + + +Or if you just want the ID as you asked: + +$ task /someregex/ ids + + +When you force the output of Taskwarrior into a pipe, it no longer has ability to determine the terminal width (there is no tty in a pipe), so it defaults to 80. +You can override this, and the fact that color is disabled for the same reason. +See 'man taskrc' for full details. + diff --git a/content/support/faq/faq.257.md b/content/support/faq/faq.257.md new file mode 100644 index 00000000..ecc8635a --- /dev/null +++ b/content/support/faq/faq.257.md @@ -0,0 +1,16 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How can I get completion for completed projects ? + + think that's a feature, but it actually annoys me. + +When I type `task add project:xxx<TAB>`, xxx gets completed if there's an uncompleted task; however, it doesn't happen if there's no active task in the project even though it exists. + +A: Read 'man taskrc' and look for the 'list.all.projects' setting. + + + +Taskwarrior is highly configurable, I recommend reading the documentation whenever you have a question like this. + diff --git a/content/support/faq/faq.258.md b/content/support/faq/faq.258.md new file mode 100644 index 00000000..dc1db174 --- /dev/null +++ b/content/support/faq/faq.258.md @@ -0,0 +1,20 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: automatically tag new tasks + +Can I automatically give all new tasks a specific tag via a config option or similar? + +Or do I need to implement a hook? + +A: Currently, a hook would be needed. + +A: I wrote the following hook (in php) + +#!/usr/bin/php +tags[] = 'review'; +fwrite(STDOUT, json_encode($input)); + diff --git a/content/support/faq/faq.259.md b/content/support/faq/faq.259.md new file mode 100644 index 00000000..45596cc4 --- /dev/null +++ b/content/support/faq/faq.259.md @@ -0,0 +1,26 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Why can't I export all tasks? + +When I try the below command to backup my tasks, nothing happens. + +user@host:~$ task export test.json +[ +] + +No file outputted +Must I specify the exact tasks I want to export? +Is export used for backing up? Or is it better that I backup the .task folder? + +A: Try + +task export +alone without a filter like "test.json". + + +If you want to have the results in a file do a + +task export > test.json + diff --git a/content/support/faq/faq.260.md b/content/support/faq/faq.260.md new file mode 100644 index 00000000..236eb898 --- /dev/null +++ b/content/support/faq/faq.260.md @@ -0,0 +1,21 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Editing failed with exit code 256 + +When I run + +task N edit +I am taken to vim, I make my edits, but upon returning to task, I get the error: + +Editing failed with exit code 256 +Subsequent attempts to edit the task are then met with + +Task is already being edited. + +Any thoughts on what is going on here? + +A: You said vim, but I get the impression you really meant gvim. +If so, it's probably the forking nature of gvim and you'll need to use 'gvim -f'. + diff --git a/content/support/faq/faq.261.md b/content/support/faq/faq.261.md new file mode 100644 index 00000000..542c801b --- /dev/null +++ b/content/support/faq/faq.261.md @@ -0,0 +1,12 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Trigger task creation when a particular task is completed + +Any suggestions how to implement this in Taskwarrior? I'm guessing a hook script that on-modify inspects the modified task and executes task add if needed? + +A: I found exactly what I needed: + +https://github.com/JensErat/task-relative-recur + diff --git a/content/support/faq/faq.262.md b/content/support/faq/faq.262.md new file mode 100644 index 00000000..1c7a6c54 --- /dev/null +++ b/content/support/faq/faq.262.md @@ -0,0 +1,21 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Taskwarrior: create recurring task with due date the date instance was created + +I would like to create a recurring task to remind me to process my GTD intray (it can be used also to implement any other habit), that has the due date of the instance equal the day the instance was created, and it expires (gets deleted) after 24 hours after the instance was created. + +So every day a new instance gets created, and if I don't mark it done, it gets deleted automatically by taskwarrior at the end of the day. The following day a new instance gets created and again it expires after 24 hours unless I mark it done + +The furthest I got is + +task add due:today until:due+1day recur:daily +But this doesn't work as expected: The due date of 'today' is in relation to the parent task, that it should not create tasks after 'today'. + +Having the instance task have the due date set to current day would be useful because I could see the task with the +DUETODAY virtual tag, and it makes sense because it's something that must be accomplished that day + +Thank you for any suggestions + +A: I think you need due:23:45 (or some specific time of day) to accomplish this. + diff --git a/content/support/faq/faq.263.md b/content/support/faq/faq.263.md new file mode 100644 index 00000000..732f44fd --- /dev/null +++ b/content/support/faq/faq.263.md @@ -0,0 +1,18 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Reporting/column formats for duration type UDAs + +I am experimenting with a duration type UDA, which I try to use to record tasks' time estimates (and, later, perhaps, to use them for day planning). + +I have a number of questions whichmight be related to column formats: + +Can I alter duration presentation mode? By default it gives me the ISO format (e.g. PT1H), but it is less intuitive for me as e.g. 1h, 30m etc. +In the sorting settings of the report, can I refer to an "indicator" format of a duration type UDA? That is, it would only look at it whether it has or has not a duration attribute (and, therefore, I could include a break between tasks which have estimates and those which do not)? + +A: There is no support for UDA rendering formats. +I suggest you submit a feature request. + +Report breaks are triggered by the underlying value, not the display format, so that won't have the effect you want. + diff --git a/content/support/faq/faq.264.md b/content/support/faq/faq.264.md new file mode 100644 index 00000000..913a42f8 --- /dev/null +++ b/content/support/faq/faq.264.md @@ -0,0 +1,9 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: The second row in my task list does not show up, only black box is displayed, why? + +A: Try removing the color theme. +If that shows the data, then it means the color theme conflicts with your terminal colors. + diff --git a/content/support/faq/faq.265.md b/content/support/faq/faq.265.md new file mode 100644 index 00000000..9ee26b97 --- /dev/null +++ b/content/support/faq/faq.265.md @@ -0,0 +1,27 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: starting several tasks at once - is it possible with timewarrior? + +Hi, I am starting to use timewarrior together with taskwarrior. I tried to track several tasks ato once. An example scenario is that alongside a research bit that I am doing (task 7) it I also have to e-mail a colleague (task 9). That initial time that I spend is necessary for both tasks. So I would like to start both, then stop e-mail (done) but continue with the research bit. I could of course do: + +7 start, 7 stop, 9 start, 9 stop, 7 start + +instead I would much rather prefer: + +7 9 start, 7 stop, 9 stop + +So tasks 7 and 9 would have different lengths; on timeline they would be overlapping, but 9 would be longer than 5. + +Is this kind of scenario possible? + +With taskwarrior I can start several tasks at once, but timewarrior is only tracking one of them (despite they have different labels) as per timew summary. + +I understand that multitasking in ideal circumstances is a thing that should not be done, but it is also a reality of life we have to cope with this and it would be good to be able to record time for overlapping tasks. + +A: Timewarrior does not support overlapping time, which includes the notion of several tasks started at once, this is why Timewarrior stops tracking the previous interval, and tracks a new one, when a task is started. + +There is a difference between starting a task, and working on a task. +Timewarrior only cares about the latter. + diff --git a/content/support/faq/faq.266.md b/content/support/faq/faq.266.md new file mode 100644 index 00000000..a71b5521 --- /dev/null +++ b/content/support/faq/faq.266.md @@ -0,0 +1,12 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Systemd unit file error + +The unit file used to start the task server does not seem to be working correctly. When I check the status it seems to have failed. The only thing I have found online is related to having /var/tmp symlinked to /tmp of vice verca. This is not the case. Are there any suggestions to fix this problem? + +Process: 467 ExecStart=/usr/local/bin/taskd server --data /home/user/task_server (code=exited, status=226/NAMESPACE) + +A: If you use the unit file from this page - https://taskwarrior.org/docs/taskserver/control.html - make sure that you remove /home from "InaccessibleDirectories". + diff --git a/content/support/faq/faq.267.md b/content/support/faq/faq.267.md new file mode 100644 index 00000000..fb676def --- /dev/null +++ b/content/support/faq/faq.267.md @@ -0,0 +1,11 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Packages for timew and tasksh + +Are there any plans to package timew and tasksh for Debian? If so, when? + +A: We don't do packaging, the community generally steps up. +Contact your distro and make a request. + diff --git a/content/support/faq/faq.268.md b/content/support/faq/faq.268.md new file mode 100644 index 00000000..5cc70220 --- /dev/null +++ b/content/support/faq/faq.268.md @@ -0,0 +1,10 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Tasks that will not be done but should be remembered + +In using Taskwarrior recently, I added several tasks and later decided against doing them. Normally I would just delete such a task but it would be good to remember them for future reference. I've been struggling with how to treat such tasks. I'm wondering what suggestions people might have for dealing with these tasks given I want to remember them, but don't want them to show up in the next report any more? For example, would you mark them as complete and give them a special tag? Would you, (can you), give them a special status? And so on. I am especially interested in a method that is faithful to the semantics of the Taskwarrior constructs, if that is possible of course. + +A: I think you nailed it with "give them a special tag" and delete them. There's no "canceled" status, or anything like that, and you can still query them with the "all" report or the +DELETED special-tag. + diff --git a/content/support/faq/faq.269.md b/content/support/faq/faq.269.md new file mode 100644 index 00000000..b2fa7c1c --- /dev/null +++ b/content/support/faq/faq.269.md @@ -0,0 +1,27 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Life without attachments + +I'm currently trying to migrate to TW from proprietary task manager but I can't figure how to live essentially without attachments to tasks. According to GTD and other effectiveness techniques you should unload your brain as much as possible. One of the implications is that you have to put the information related to the task in easily reachable location. The most obvious location is task attachment. + +Currently I have web UI which allows me to attach arbitrary files as well as text notes to the task and it's one click away from tasklist. But with TW the only solution I could come up with is to have some kind of separate wiki or evernote-like app which will have articles with the same title as the task. Not only this is much harder to maintain than direct task attachments but it's also harder to reach: open the app, open the wiki, manually find the needed article etc. + +I understand that this is somehow an implication of CLI app and I'm aware of taskattach, but wanted to ask you guys how you deal with it? + +A: There are a few answers to your longing for attachments, the first of which would be annotations. A task can be enhanced with any number of annotations, including multi-line, freeform notes. For a couple of annotation options see: https://github.com/linuxcaffe/tw-ann-hook + +Then there's tasknotes, which are text files related to a specific task by uuid. Tasknotes are implemented in several places; the original implementation is https://github.com/mikebobroski/tasknote (getting old) and taskopen (link above) has an updated implementation, as does https://github.com/blakesweeney/unite-taskwarrior. + +Then there's taskwiki (https://github.com/tbabej/taskwiki) which allows for rich notes to be compiled, directly linked to taskwarrior. Taskwiki is ideal for maintaining detailed project descriptions that can contain all related task lists. It is highly customizable, with rich-text and tables, can be inter-linked in several ways, and (because it works with vimwiki) you can generate reports in html and/or pdf. + +A: Take a look here: + +https://taskwarrior.org/tools/ + +search for 'taskopen'. +This allows the opening of URLs that are added as annotations. + +It's not really an attachment solution, but it does let you link your tasks to attachments. + diff --git a/content/support/faq/faq.270.md b/content/support/faq/faq.270.md new file mode 100644 index 00000000..e15cc48e --- /dev/null +++ b/content/support/faq/faq.270.md @@ -0,0 +1,10 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: formatted output + +I need to get the list of the pending task with defined columns and separators for my own script. And it should create new tasks from the recur templates if needs. How can i do this? My version: 2.5.1. Thank you. + +A: Using the export command is the right way to get data out of Taskwarrior. + diff --git a/content/support/faq/faq.271.md b/content/support/faq/faq.271.md new file mode 100644 index 00000000..b507c294 --- /dev/null +++ b/content/support/faq/faq.271.md @@ -0,0 +1,25 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: color a specific task + +I see the task-color man page talking about coloring every task in a certain project, or with a certain priority, and stuff like that. + +Can I just say "task 2 color red" ? + +As far as I can tell, the answer is "I have to assign some sort of condition – a tag, or a project, or a UDA – and color everything with that condition, and then never accidentally use that condition again. +But maybe I missed something? + +A: That's not supported, the color rules apply to group of tasks, not individual ones. +It was once true, but the feature wasn't implemented well, and it was removed. +But it will be back... + + + +Meanwhile I think the best alternative is to color a specific tag, then apply that to one task. +This doesn't really scale though. + +$ task config color.tag.special_color 'white on red' +$ task 2 modify +special_color + diff --git a/content/support/faq/faq.272.md b/content/support/faq/faq.272.md new file mode 100644 index 00000000..5ba39e98 --- /dev/null +++ b/content/support/faq/faq.272.md @@ -0,0 +1,15 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Why recurring tasks not in today list? + +I added task: + +task add «task1» due:We recur:weekly +Today is Wednesday why this task not in that report? + +task due:today list + +A: Because if today is Wednesday, the due:We means next Wednesday. + diff --git a/content/support/faq/faq.273.md b/content/support/faq/faq.273.md new file mode 100644 index 00000000..e18c3bfc --- /dev/null +++ b/content/support/faq/faq.273.md @@ -0,0 +1,20 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Date or datetime on which a task must be performed + +My question is how do I "encode" in taskwarrior a task that must be performed on a certain date or date-time? For example, if I have a meeting at work on the 2016-28-09 12:00, how do I input this in taskwarrior? I am aware that there is "due date" but the definition of due data is something that must be completed by a certain date, for example paying my taxes (can be done on any day before a certain day). + +I am thinking of creating a new UDA to store such information, but considering taskwarrior was designed to support GTD, and GTD supports using of calendar (and on calendar you put day or time specific tasks) I am wondering whether or not I missed something in the documentation. Thank you. + +A: Have you read about the Scheduled Date? + +From the documentation: + +A scheduled date is different from a due date, and represents the earliest opportunity to work on a task. Let's continue with the same example above. You need to send a brithday card to Alice, but her birthday isn't until November, so it's not the kind of task that can be done in advance. + +... + +Tasks that have no scheduled date are considered always ready. Again, metadata drives the sophistication of your task list. + diff --git a/content/support/faq/faq.274.md b/content/support/faq/faq.274.md new file mode 100644 index 00000000..ed39e478 --- /dev/null +++ b/content/support/faq/faq.274.md @@ -0,0 +1,17 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Urgency coefficient to 0 for a specific tag + +I would like to create the tag +contact, and use taskwarrior (also as) as a contact manager to save info on people (phone numbers, emails, etc). However, I don't want these to increase the urgency as time goes by. I would like to know if it's possible to set urgency=0 for all tasks that have "contact" tag. Thank you + +A: Urgency is a polynomial value, and while you can set the coefficient for a specific tag to zero, and therefore eliminate one term, this does not affect other terms. + +Urgency is not intended to be something you can manipulate and set to zero. +It is instead the aggregate of subtle influences that are deliberately based on metadata. +It is an emergent value, and not directly under your control. + +Instead, you might wish to set a negative coefficient for a specific tag, which will have the effect of reducing the urgency, scaled by the coefficient. +This will lower urgency, not zero it. + diff --git a/content/support/faq/faq.275.md b/content/support/faq/faq.275.md new file mode 100644 index 00000000..09e0392a --- /dev/null +++ b/content/support/faq/faq.275.md @@ -0,0 +1,36 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: multi-line report + +My reports are getting a little wide for an 80-column screen, for example, + +ID Tags R Wait Due Description + + 5 remind sdo 2016-08-31 09:00 6d 2016-09-06 09:00 remove the backup disk + + 6 remind sdo 2016-09-01 09:00 6d 2016-09-06 09:00 install the backup disk + +and I see that taskwarrior will print a warning when my report gets too wide. + + + +Is there a way that I can create a report that will print over two formated lines? Something like this: + +ID Tags R Wait Scheduled + + Due Description + + 5 remind sdo 2016-08-31 09:00 6d 2016-09-05 09:00 + + 2016-09-05 09:00 remove the backup disk + + 6 remind sdo 2016-09-01 09:00 6d 2016-09-06 09:00 + + 2016-09-06 09:00 install the backup disk + +A: No. + +But you can make a custom report that includes fewer columns, or add a report-specific dateformat to shrink the timestamp, etc. + diff --git a/content/support/faq/faq.276.md b/content/support/faq/faq.276.md new file mode 100644 index 00000000..c9ac0cf7 --- /dev/null +++ b/content/support/faq/faq.276.md @@ -0,0 +1,24 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: dependencies and recurrence? + +task 2.5.1 built for linux + +I have two recurring tasks, one due every Monday, and one due every Tuesday. +I would like to make each individual Tuesday task "depend" on the related Monday task. +I can't figure out how to do that. + +I tried + +task add Monday Task due 2016-08-08T09:00 wait:due-3d recur:weekly + +task add Tuesday Task due:2016-08-09T09:00 wait:due-3d recur:weekly depends:1 +but the created tasks are all blocked by the recurrence template itself, not by the tasks created by template. + +Is this possible? (That is, without manually associating the tasks every week.) + +A: Not supported automatically. +You'd have to manually adjust the dependencies every time. + diff --git a/content/support/faq/faq.277.md b/content/support/faq/faq.277.md new file mode 100644 index 00000000..6bcb477f --- /dev/null +++ b/content/support/faq/faq.277.md @@ -0,0 +1,15 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How can I test taskwarrior's actions in the future? +Worthless backstory – I'm trying to determine which is a better workflow for me – using taskwarrior's built-in recurrence (which has some issues for me but nothing insurmountable) or using an external calendar program to generate commands to add tasks (which resolves my recurrence oddities but loses some of taskwarrior's advanced features). + +Is there a way that I can set up (let's say) 2 recurring tasks, that is "due" on Mondays with a "wait" for the preceding Saturday, and one that is "due" on Tuesdays with a "wait" for the preceding Sunday; and then have taskwarrior "Pretend it's Thursday, what happens? Pretend it's Friday, what happens? Pretend it's Saturday, what happens? Pretend it's Sunday, what happens? Pretend it's Monday, what happens? Pretend it's Tuesday, what happens?" + +I know I can do that by resetting my system clock and other machine-altering ways. +I'd just rather not. + +A: If this is a one-off kind of test, then use faketime. +That's what we use in the test suite. + diff --git a/content/support/faq/faq.278.md b/content/support/faq/faq.278.md new file mode 100644 index 00000000..353cf781 --- /dev/null +++ b/content/support/faq/faq.278.md @@ -0,0 +1,62 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: scheduled but still urgent? + +Greetings. +I'm confused about "scheduled" tasks. + +The current date is Wed Aug 24 06:44:50 EDT 2016. + +My task looks like this: + +Name Value +ID 3 +Description patches +Status Pending +Entered 2016-07-25 10:53:27 (4w) +Scheduled 2016-08-25 00:00:00 +Due 2016-08-25 09:00:00 +Last modified 2016-08-24 06:39:43 (5min) +Virtual tags DUE MONTH PENDING SCHEDULED TAGGED TOMORROW UNBLOCKED WEEK YEAR +UUID aac852b2-45a7-44ae-8dfb-47a8a5ee0dbf +Urgency 9.259 + + tags 0.8 * 1 = 0.8 + due 0.692 * 12 = 8.3 + age 0.079 * 2 = 0.159 + ------ + 9.259 +and my current task list looks like this + +[task next] +ID Tags Due Description U +-- ---------- --- ---------------- ------------------------- ---- + 3 1d 2016-08-25 09:00 patches 9.26 +29 home move doctor appointment 6.8 +10 13d 2016-09-06 12:00 Root Password Changes 3.81 + + +I thought that the "scheduled" tag means "cannot be completed before this." So I'm not sure why my most urgent task is one that I cannot complete until tomorrow. +I want to see that it's upcoming, but clearly I have more urgent tasks than this one. + +Am I missing something? + +A: You are using scheduled correctly. +If you intend to spend all day thursday and friday on a lengthy task, then the scheduled date is early thursday, and the due date is late friday. +Schedule and due therefore bracket the time range. + +But not all tasks need a scheduled date, and it would be unnecessary work to set one. + +The next report sorts by urgency, which is a single-value assessment of the urgency of a task, based on many (tweakable) factors. +You can modify the urgency coefficients to adjust this, but it's important to point out that the next report is not listing only tasks you can actually begin. +It's just listing tasks that have high urgency scores. +Your task remains urgent even though you cannot start yet. + +You might want to look at the ready report, which filters out tasks you cannot start. +It is also sorted by urgency, but will not include future scheduled tasks. + +And of course, you can change any of the above through configuration, so for example you can use the ready report filter and add it to the next report filter, or set ready as your default command, and you can adjust the urgency coefficients to suit your notion of urgency. +All documented online. + diff --git a/content/support/faq/faq.279.md b/content/support/faq/faq.279.md new file mode 100644 index 00000000..78ae9583 --- /dev/null +++ b/content/support/faq/faq.279.md @@ -0,0 +1,8 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Is there a way to alert when active task time ends? + +A: No, but there is a hook system that can used to detect the event, and then do ... whatever you want. + diff --git a/content/support/faq/faq.280.md b/content/support/faq/faq.280.md new file mode 100644 index 00000000..704a7616 --- /dev/null +++ b/content/support/faq/faq.280.md @@ -0,0 +1,33 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: some commands modify complete tasks + +Some commands modify completed tasks despite: + +default.command=next + +report.next.filter=status:pending limit:page + +When I try: + +$task better done + +It modifies a current task matching "better" as well as 4 completed tasks. + +In fact: + +$task better + +Only returns the status:pending task, but any modification like done or modify due:today changes completed and current tasks. + +A: You're doing two different things: + +'task better done' is modifying any task with the 'better' substring. +'task better' is adding 'better' to the filter of the default command. +The default command does not affect any other commands. +Typically you would specify an ID/UUID for a task to modify. +But in your case your are specifying a text pattern, which could apply to many tasks. +This is functioning as designed. + diff --git a/content/support/faq/faq.281.md b/content/support/faq/faq.281.md new file mode 100644 index 00000000..65f6d3a6 --- /dev/null +++ b/content/support/faq/faq.281.md @@ -0,0 +1,26 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: define report based on other report? + +Is there, by chance, a shortcut to defining a report based on another report? + + + +For example, something like + + + +report.soon.justlike=report.waiting +report.soon.description="just one change" + + +so that I don't have to redefine an entire report just to make one little change, and then maybe later if I change one, the other will change along with it? + +A: No, this doesn't exist. +Creating a report like this would involve copying and editing: + +task show report.waiting >> ~/.taskrc +edit ~/.taskrc + diff --git a/content/support/faq/faq.282.md b/content/support/faq/faq.282.md new file mode 100644 index 00000000..5b349b59 --- /dev/null +++ b/content/support/faq/faq.282.md @@ -0,0 +1,22 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: How to express precedence, or the reciprocal of dependency? + +Taskwarrior allow me to specify that a given task (task 1) depends upon another task (task 2). The command for this is specific to task 1: + +task 1 modify depends:2 +But what if I am working on task 2, and I want to modify task 2 to show that it is a prerequisite for completion of task 1? (Task 1 is an antecedent or a precedent to task 2.*) Is there a way to do this, or must I modify task 1 again every time that I create a new task that is antecedent to it? It would be great if I could just add the antecedent/precedent description to task 2 (and other subsequent tasks), thereby avoiding the extra step of revising task 1 every time. Like so: + +task 2 add precedes:1 +(*An antecedent is something that logically precedes another thing, so these two words are closely linked. These are probably not the best terms here; they're just the ones I could think of.) + +A: There is a hook script that implements this: + +https://gist.github.com/wbsch/a2f7264c6302918dfb30 + + + The reason this isn't implemented is that it's not just funky syntax - the depends:xxx directly references the attribute depends. +The precedes is not an attribute. + diff --git a/content/support/faq/faq.283.md b/content/support/faq/faq.283.md new file mode 100644 index 00000000..b637d150 --- /dev/null +++ b/content/support/faq/faq.283.md @@ -0,0 +1,10 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Annotation sorting - is there a possibility and how? + +Is there a way to sort annotations? I would love to have the latest entry first down to the oldest entry last. + +A: No, sorting is fixed and increasing, the opposite direction. + diff --git a/content/support/faq/faq.284.md b/content/support/faq/faq.284.md new file mode 100644 index 00000000..2c65a19e --- /dev/null +++ b/content/support/faq/faq.284.md @@ -0,0 +1,19 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Setting the deadline for the whole project in Taskwarrior + +I know that I can easily set a deadline for a single task + + task ID modify due:31st + +But is there any built-in way to set the deadline for the whole project? I know I could use some scripting/grepping/cutting/etc., but maybe there's no need to do it? + +A: A project is simply an attribute of a task, and doesn't have its own metadata. This means there is no due date for a project, just for the tasks. + +A: You can use something like this: + +task project:MyProject modify due:2weeks +This command sets due date to all tasks in selected project. + diff --git a/content/support/faq/faq.285.md b/content/support/faq/faq.285.md new file mode 100644 index 00000000..b6af54ad --- /dev/null +++ b/content/support/faq/faq.285.md @@ -0,0 +1,23 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Taskserver migration + +Are there any best practices in migrating a taskserver? I want to move a super smooth running taskserver from a Mac to a Raspberry Pi and I would like to do a full migration (with historical data etc.) instead of a new setup. + +A: While this is not a tested formula, I would recommend: + +Build taskd on the rPI, install it. +Make sure it works: taskd diag +Create a tarball of the $TASKDDATA dir on the Mac. +Keep that tarball as a backup. +Copy tarball to the rPI and unpack. +Verify permissions. +You'll need to set up permissions so that the entire data tree is read/write to the user that will launch taskd. +Set $TASKDDATA accordingly. +Launch server on rPI, check log for the presence of positive messages and lack of negative messages. +Back up the client. +Modify the taskd.server config entry to point to the rPI, and test sync. +If there are problems, it's most likely file permission, firewall or networking. + diff --git a/content/support/faq/faq.286.md b/content/support/faq/faq.286.md new file mode 100644 index 00000000..5466f62a --- /dev/null +++ b/content/support/faq/faq.286.md @@ -0,0 +1,23 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Archiving Tasks + +What is the best practice for "archiving" ( ? ) a task – that is, removing it from the task list, but not marking it done or deleting it? + +Use Case + +The meeting I was scheduled to attend today (in my task list) has been postponed to next week, when I am unable to attend. I can't mark today's meeting done, but if I delete it, I have no record of when the meeting took place (next week). This record is useful to check later that I received the minutes, or just to check in future when that meeting actually took place. + +A: There is only the completed and deleted states for a task, but you do have the option of storing the reason in another attribute. + +Deleting a task really only marks it as deleted. This means it doesn't go away, and remains available for reference. I would suggest deleting the task, and adding an annotation at the same time, like this: + +$ task delete 'Meeting rescheduled' +Or instead, complete the task with an annotation: + +$ task done 'Meeting rescheduled' +There are many ways to think of completed and deleted tasks. +If you think of deleted as simply meaning 'Removed from my list', perhaps that now fits your model. + diff --git a/content/support/faq/faq.287.md b/content/support/faq/faq.287.md new file mode 100644 index 00000000..e627777b --- /dev/null +++ b/content/support/faq/faq.287.md @@ -0,0 +1,12 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Append to UDA field +I have a UDA field and I would like to append to it - similar to how annotate works. +Is this possible? + +A: No, you'll have to do this, assuming it's a string: + +$ task modify uda_field:uda_field+' more text' + diff --git a/content/support/faq/faq.288.md b/content/support/faq/faq.288.md new file mode 100644 index 00000000..434af532 --- /dev/null +++ b/content/support/faq/faq.288.md @@ -0,0 +1,44 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Create task with a context does not apply the filter to the task + +HI guys, + + + +I'm working on my Project, I'm trying to work with context as documented in the man page. + + + +For this a context was define as documented in the code block below. + +While the task list command does display task with the context define filter, the task add command doesn't apply the filter to new created tasks. Different filter were use. The behavior appeared to be always the same. + + + +Test case: + +task context define ST project:Studium.ST +task context ST +Context 'ST' set. Use 'task context none' to remove. +task add "Unterlagen sortieren" +Created task 355. +akendo@x240 ~/o/I/S/P/taskwarrior.git> task 355 +No command specified - assuming 'information'. +Name Value +ID 355 +Description Unterlagen sortieren +Status Pending +Entered 19.06.2016 18:04 (1s) +Last modified 19.06.2016 18:04 (1s) + + + +I would expect that setting up a context would imply to new create task to be in the same context as well. + +Is this intended or not? + +A: Context was designed to be a persistent, meta-filter reducing the task list to a given context (like work, home, shopping etc) following the GTD(tm) idea that you con only perform tasks that are in the context you are in right now. It was a conscious decision for the context feature to affect only reporting actions. Let's say you were at home, using the home context to show only tasks relevant to that context, but you suddenly have ideas for tasks to perform in other contexts, it is important to allow the user to quickly input any task, any time, without having to disable the context filters first. + diff --git a/content/support/faq/faq.289.md b/content/support/faq/faq.289.md new file mode 100644 index 00000000..d8b0c29e --- /dev/null +++ b/content/support/faq/faq.289.md @@ -0,0 +1,35 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Understanding reports + +How can I find out which reports I should modify if I want to change the report format for + +$ task next + +and + +$ task due:... + +A: In the first example, you want to modify the next report, which means modifying one or more of these settings: + +$ task show report.next +Config Variable Value + +report.next.columns id,start.age,entry.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description,urgency + +report.next.description Most urgent tasks + +report.next.filter status:pending limit:page + +report.next.labels ID,Active,Age,Deps,P,Project,Tag,Recur,S,Due,Until,Description,Urg + +report.next.sort urgency- +In the second, that's not a report, just a filter. +Perhaps that is using the default report, but that depends on what you set it to. + +Take a look here, to learn about customizing reports: + +https://taskwarrior.org/docs/report.html + diff --git a/content/support/faq/faq.290.md b/content/support/faq/faq.290.md new file mode 100644 index 00000000..66c68b6d --- /dev/null +++ b/content/support/faq/faq.290.md @@ -0,0 +1,18 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Recurring weekly task at specific time + +How can I add a recurring task at 08:00 every Tuesday? This adds the task: + + task add project:Home Washing due:tue recur:weekly + +but I'd like to specify a time as well. + +A: Simply put the time in the due date, and the weekly recurrence will match it: + +$ task add ... due:2016-06-14T08:00 recur:weekly +This is already answered here: +https://taskwarrior.org/docs/examples.html#recur + diff --git a/content/support/faq/faq.291.md b/content/support/faq/faq.291.md new file mode 100644 index 00000000..a592d5c8 --- /dev/null +++ b/content/support/faq/faq.291.md @@ -0,0 +1,12 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: subtasks with projects or dependencies + +Can someone explain to me the nature of projects and dependencies? It seems that sub-tasks are implemented with "dependencies", but what, then, is the purpose of "projects"? + +A: Dependencies are not full-fledged subtasks, they just make tasks 'depend' on each other, meaning that one task should not be worked on until the other has been completed. Subtasks support is planned in one of the future releases. + +Projects have a simple purpose of grouping tasks into one namespace. I.e. I like to use project:Work and project:Home to separate your work and home tasks. + diff --git a/content/support/faq/faq.292.md b/content/support/faq/faq.292.md new file mode 100644 index 00000000..aa75d982 --- /dev/null +++ b/content/support/faq/faq.292.md @@ -0,0 +1,12 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: Is it possible to have a task recur on the last working day before the 15th every month? + +I see there are named dates for due dates (such as eom for end of month, and eoww for end of work week) but is there such a thing for recurrence? Would it be possible to set up a recurring task for a paycheck on the 15th, for example. This happens the same day every month unless the 15th happens to be on a Saturday or Sunday and then it will be a day or two earlier. If I scheduled it for the 15th every month and waited until due-1d it would show up late. + +If there isn't a way of doing this, is there some sort of conditional logic which might work in the config or something to build this feature in? + +A: This is not currently possible, but should be added as a feature request. + diff --git a/content/support/faq/faq.293.md b/content/support/faq/faq.293.md new file mode 100644 index 00000000..68c2480a --- /dev/null +++ b/content/support/faq/faq.293.md @@ -0,0 +1,28 @@ +--- +title: "Taskwarrior - FAQ" +--- + +Q: I am trying to correct a task which I left running by deleting it, but I am getting an assertion error: + +timew delete @1 + +timew: /home/achasen/git/timew-1.0.0/src/Datafile.cpp:111: void Datafile::deleteInterval(const Interval&): Assertion `_range.overlap (interval.range)' failed. + +[1] 14876 abort (core dumped) timew delete @1 + +the output of summary is: + +W52 2017-12-30 Sat @3 sfdc, slides 10:45:00 11:39:01 0:54:01 + @2 calendar, review 11:39:21 11:45:35 0:06:14 + @1 review, tech, test 11:45:35 0:00:00 12:14:25 13:14:40 +W52 2017-12-31 Sun @1 review, tech, test 0:00:00 0:00:00 24:00:00 24:00:00 + +I am also curious if there is a better mechanism for "cleaning up" tasks which I left running. + +A: If the time tracking is still active, the "official" way would be + +timew cancel +but + +timew delete @1 +should behave the same way.