Make an open source to-do list with Emacs
Harness the power of Emacs to organise your work, as well as some options to track your to-do list when you’re on the go
There are at least as many ways to track tasks as there are people on the planet. A very powerful tool is available in the Emacs editor. Emacs runs in modes, and behaves differently depending on which mode it is in. Most modes are activated when editing files of particular types. There are several modes that are useful for task planning and tracking. The two most popular modes are planner-el and org-mode. In this article, we will look at how to set up and use org-mode to build a to-do list and plan out the work that you need to do. While this works great when you are at your desktop, more and more often people are on the move. We will also look at how to keep your to-do list with you while you are out and about. The method is to actually use the web application Toodledo to act as an intermediary between Emacs and your mobile device of choice. This way, you have your choice of mobile interface to your task list.
The first step is to get Emacs installed on your system. Since Emacs has been around for so long, it has been ported to almost every system in existence. On Linux, it should be available in any distribution you use. This is not usually the latest version. If you want the latest functionality, you may want to download the source code.
In any recent version of Emacs, org-mode is available as part of the bundled modes. This usually tracks behind the latest version available. Again, if you want the latest version’s features, you will need to download and install from source.
In order to use the most basic org-mode functions, you will need to add some items to your ‘.emacs’ file. If you installed from source, you will want to add ‘(require ‘org-install)’. Otherwise, you will want to add ‘(require ‘org)’. You will also want to add lines to tell Emacs to use org-mode when opening files that end in ‘.org’.
First to-do file
Your task list resides in an org file. These are just plain text files with particular tags which org-mode uses to decipher things like priorities, deadlines and contexts. Tasks are started with asterisks, which identify the level. Subtasks are identified with an extra asterisk.
Setting task states
Your workflow is defined by the states that your tasks can take. These can be defined either in your ‘.emacs’ file, or in the org file itself. The states are broken into those states for active tasks (like TODO) and those for inactive tasks (like DONE).
Changing task states
Now that you have your tasks and their workflow defined, it’s time to actually work. As you get tasks done, you need to change their state. You can simply edit the tag directly and change the task state. Or, you can use the keyboard shortcut ‘C-c C-t’ to cycle through the options.
Some tasks have to be done by some time. You can get org-mode to set and track deadlines with the keyboard shortcut ‘C-c C-d’. You can use shortcuts like ‘tue’ for the next Tuesday, or you can enter the full data and time for a task.
Scheduling your work
The other time function in org-mode is scheduling. You can set a date and time for when your task should be started by using the keyboard shortcut ‘C-c C-s’. This will add an extra property to your task. Schedules and deadlines can also be added manually by editing the text.
Priorities can be set by using the keyboard shortcut ‘C-c ,’. Or, you can add them manually by typing ‘[#A]’ or ‘[#B]’ or ‘[#C]’, where A is the highest priority level and C is the lowest.