Managing Tasks with Todo.txt and Taskwarrior

ankitg121 pts0 comments

Managing tasks with todo.txt and Taskwarrior [LWN.net]

LWN<br>.net<br>News from the source

Content Weekly Edition<br>Archives<br>Search<br>Kernel<br>Security<br>Events calendar<br>Unread comments

LWN FAQ<br>Write for us

Edition Return to the Front page

User:<br>Password: |

Log in /<br>Subscribe /<br>Register

Managing tasks with todo.txt and Taskwarrior

June 26, 2020

This article was contributed by Martin Michlmayr

One quote from Douglas Adams has always stayed with me: "I love<br>deadlines. I like the whooshing sound they make as they fly by". We<br>all lead busy lives and few ever see the bottom of our long to-do lists.<br>One of the oldest items on my list, ironically, is to find a better system<br>to manage all my tasks. Can task-management systems make us more productive<br>while, at the same time, reducing the stress caused by the sheer number of<br>outstanding tasks? This article looks at todo.txt and Taskwarrior.

$ sudo subscribe today

Subscribe today and elevate your LWN privileges. You’ll have<br>access to all of LWN’s high-quality articles as soon as they’re<br>published, and help support LWN in the process. Act now and you can start with a free trial subscription.

The management of tasks is rather personal and people have completely<br>different approaches and philosophies. This is, of course, reflected in the<br>requirements for, and expectations from, a task manager. Requirements can<br>also change as our interaction with computers changes. For example, while I<br>put a lot of emphasis on managing tasks via the command line in the past,<br>these days I'm more interested in a good mobile app (to add tasks on the go<br>and to receive reminders) and web support (to get an overview of all tasks).

A good way to filter tasks is also essential for me. One of the reasons<br>for using task-management software is so you can stop worrying about tasks<br>until they become relevant. This requires a way to find relevant tasks when<br>needed, such as when the due date is coming up soon or because you're in a<br>relevant setting or place (often called a "context" in task-management systems). Going<br>to the supermarket would be a good time to bring up a shopping list, for<br>example. Task-management systems offer a number of ways to organize<br>information that can be used in filters, such as tags, contexts (often<br>stored as tags in the form of @tag, such as @home), and<br>lists.

In a series of two articles, we'll review four systems for managing tasks<br>and to-do items around which open-source ecosystems have formed.

Simple task management with todo.txt

Todo.txt is a simple<br>plain-text format to specify tasks. Each line describes one task, and<br>tasks can have a priority (e.g. (A)), a project (+LWN),<br>and a context (@home). The specification also defines the<br>tag:value syntax but only mentions due (due dates)<br>specifically. A number of custom<br>tags are in common use, such as t for threshold dates (i.e.<br>start dates) and rec for recurring tasks. Tasks are marked as<br>complete by adding a lowercase x at the beginning of the line. An<br>example might look something like this:

(A) Proofread article +LWN due:2020-06-25<br>Revisit task managers @home t:2025-01-01<br>x Provide todo.txt examples +LWN

The todo.txt web site lists a lot of<br>tools built around the file format. Unfortunately, the first<br>impression isn't particularly great since a lot of the tools are out-of-date or<br>unmaintained. Todo.txt Touch, the project's official app for iOS, which is placed<br>prominently on the web site, had its last commit in 2014 and was removed<br>from Apple's App Store in 2017 because of incompatibilities<br>with Dropbox. The Android app was removed from Google Play for the same<br>reason.

While it would be nice if the web site offered a more curated list of<br>actively developed software, clicking on all the links eventually revealed<br>that there is an active ecosystem around todo.txt. There is support for a<br>wide range of editors, including a Vim plugin that<br>supports syntax highlighting and presents overdue tasks as errors.<br>Additionally, todoTxtWebUi lets you<br>add tasks in your browser; it also supports basic filters, but there's no<br>way to define and store more complex filters.

Simpletask<br>is an actively developed Android app. Adding new tasks is simple and the<br>app makes it possible to create complex filters. There is support for<br>Dropbox and Nextcloud. Using cloud services appears to be the recommended<br>way to sync tasks in the todo.txt ecosystem; the problem of conflicts, which<br>can happen when tasks are edited on multiple devices, is not addressed, however.

Markor (seen at right)<br>is another interesting app for Android in this context. It is not a<br>task manager; instead it is an editor with support for a number of formats including<br>Markdown, YAML, and todo.txt. Adding tasks is a pleasure due to Markor's<br>syntax highlighting, which can be seen in the screen shot. Markor doesn't<br>allow users to group, sort, or search tasks, but improvements are under<br>discussion.

Overall todo.txt is a simple system that aims to get out of your way.<br>The system reflects...

tasks todo task management managing from

Related Articles