I wander away for brief stretches every now and then, but Taskwarrior continues to be my preferred task managment tool. 2.6 came out recently, which means a few updates to my dusty old settings.
I have a slightly fancy terminal prompt thanks to Starship. If I don’t tell Taskwarrior about it, my task report header scrolls right off the top of the screen.
Taskwarrior 2.6 contexts can now define rules both for reading and writing. So when I’m in the work context, new tasks will get the
+Work tag automatically.
Still needs some tweaking from me for the contexts that filter out certain tags.
context.blog.read=-Work -pay -finances -personal context.bucket.read=+idea context.bucket.write=+idea context.focused.read=(priority:H or priority:M) -idea -shelved -finances urgency > 5.0 context.offwork.read=-Work context.work.read=+Work -idea -personal context.work.write=+Work
What do I want
task to tell me in its output?
man taskrc and lightly edited:
- Messages that appear before report output
- Messages that appear after report output
- Column labels on tabular reports
- Provides feedback on any new task with ids
- Reports ‘N tasks affected’ and similar
- Used the verbose template for the ‘edit’ command
- Feedback when applying special tags
- Feedback about project status changes
Things that I tag
+Work are pretty important. Things I tag
+idea, not so much. Let the priority math reflect that.
Better than a context is a quick list of the most important tasks, as judged by me. It’s not one of the new 2.6 context-less reports, though. If I’m in work context I see the most important work tasks.
report.top.columns=id,priority,project,tags,description.count report.top.description='Minimal details of tasks' report.top.filter=status:pending (priority:H or priority:M) report.top.labels=ID,Pri,Project,Tags,Description report.top.sort=priority-/,project-,description+
Well, you don’t need to see the full sync config. It looks something like this though:
taskd.server=my.sync.url:port taskd.key=~/.task/my.key.pem taskd.certificate=~/.task/my.cert.pem taskd.ca=~/.task/my.ca.pem taskd.credentials=my-provided-credential-string
A UDA for task review
uda.reviewed.type=date uda.reviewed.label=Reviewed report._reviewed.description=Tasksh review report. Adjust the filter to your needs. report._reviewed.columns=uuid report._reviewed.sort=reviewed+,modified+ report._reviewed.filter=( reviewed.none: or reviewed.before:now-6days ) and status:pending
A UDA for task estimates
An ongoing experiment.
uda.points.type=numeric uda.points.label=Points # Display pending tasks that have been pointed report.pointed.description='Open tasks that have point estimates' report.pointed.columns=id,points,priority,due,description report.pointed.sort=urgency- report.pointed.filter=status:pending points > 0 # Display pending tasks that have *not* been pointed report.unpointed.description='Open tasks that have point estimates' report.unpointed.columns=id,project,tags,priority,due,description report.unpointed.sort=urgency- report.unpointed.filter=status:pending -idea points:
Taskwarrior comes with several useful themes. I tend to rotate between a few, depending on my terminal colors that day.