installation

alternate task list

If for example you want to do some testing of how recurrence works, you can specify a testing data directory, as described here

https://taskwarrior.org/docs/configuration.html#override

So for example,

“cron”

# /etc/systemd/system/task.timer
[Unit]
Description=run task.service on timer

[Timer]
OnUnitActiveSec=10s
OnBootSec=10s

[Install]
WantedBy=timers.target
# /etc/systemd/system/task.service
[Unit]
Description=run task and sync

[Service]
Type=oneshot
ExecStart=/bin/bash /home/ubuntu/bin/run_task_and_sync.sh
User=ubuntu
Group=ubuntu

after that reload the systemd using command systemctl daemon-reload and start your timer by systemctl start test.timer, or enable them by default.

test content of 1.sh

systemctl list-timers

https://unix.stackexchange.com/questions/198444/run-script-every-30-min-with-systemd

http://blog.dcycle.com/blog/112/systemd-replacement-cron-every-10-seconds/

usage

modifying description vs adding an annotation

There are two ways to add an annotation, either with `task <filter> annotate this is an annotation`, or `task <filter> done this is an annotation`.

Other commands seem to modify the description instead. If you want to simultaneously update the description, can do for example `task <filter> modify status:completed this is the new description`. Note that you can’t abbreviate `status` as for example, `sta`, here.

the commands

from https://taskwarrior.org/docs/commands/

add Add a new task
annotate Add an annotation to a task
append Append words to a task description
calc Expression calculator
config Modify configuration settings
context Manage contexts
count Count the tasks matching a filter
delete Mark a task as deleted
denotate Remove an annotation from a task
done Complete a task
duplicate Clone an existing task
edit Launch your text editor to modify a task
execute Execute an external command
export Export tasks in JSON format
help Show high-level help, a cheat-sheet
import Import tasks in JSON form
log Record an already-completed task
logo Show the Taskwarrior logo
modify Modify one or more tasks
prepend Prepend words to a task description
purge 2.6.0 Completely removes tasks, rather than change status to deleted
start Start working on a task, make active
stop Stop working on a task, no longer active
synchronize Syncs tasks with Taskserver
undo Revert last change
version Version details and copyright

contexts

from https://taskwarrior.org/docs/context.html

big picture

once you understand how to add tasks and that they can have various attributes like dates, tags, etc, I think the next thing to note is as you list them, various filters and sorts are used (as well as limiting number of results).

attributes

a task has a description, an id, annotations, tags, project, status, date aspects, like created, last modified, history of edits, due, scheduled, wait, until, user defined attributes like the default priority.

time:

Taskwarrior - Using Dates Effectively

due:
due.any:
due.none:
scheduled:
ready
+READY
wait:
waiting
all +WAITING
until:
+UNTIL

Taskwarrior - How Recurrence Works

status:Recurring (template)
+PARENT
+CHILD
recurring

reports

Taskwarrior - Reports

report.next.columns
report.next.description
report.next.filter
report.next.labels
report.next.sort

The report will be a table, with a description, columns, labels.

To the rows, will be applied a filter and a sort.

To see the available columns, try

> task _columns
depends
description
due
end
entry
estimate
id
imask
last
mask
modified
parent
priority
project
recur
reviewed
rtype
scheduled
start
status
tags
template
until
urgency
uuid
wait

Let’s make a report fetch.

report.fetch.description = Show items to get, bring
report.fetch.columns     = description
report.fetch.labels      = Description
report.fetch.filter      = status:pending (+get or +bring)
report.fetch.sort        = urgency-

If you wanted to see examples of for example filters, you can try task show filter.

configuration on command line

From https://taskwarrior.org/docs/syntax.html, we note we can do things like

task calendar rc.calendar.weekstart=Monday

Can check for available config variables in man taskrc (or task show).

modifiers

Want to filter out a project from your view?

https://taskwarrior.org/support/faq.html#q14

See ‘man task’, for the ATTRIBUTE MODIFIERS and EXPRESSIONS AND OPERATORS sections.

limiting view to overdue tasks, to delete old recurrence items

Oh, this is easy, quickly found it in the FAQ https://taskwarrior.org/support/faq.html#q17.

it’s also in this section about virtual tags.