Checklists in org-mode
I am continuing on with another article org-mode, this time, checklist items. I am enjoying org-mode more as I read about its features, and found checklist items to be sweet.
I will introduce org-mode’s checklist feature by showing how to make a checklist, how to mark items as complete (or incomplete), auto-complete functions org-mode does for progress updates such as progress counts and percentages.
My hope is that you gain an appreciation of org-mode’s checklist function and start using org-mode as well. This should take you less than five minutes.
checklist | ˈCHekˌlist | noun
a list of items required, things to be done, or points to be considered, used as a reminder.
I love checklists, especially to break a big problem or project into smaller tasks.
Here’s a list of a possible projects, great list with children. The project has two subtrees: ‘main project’ and ‘celebrate main project completion’.
To make any item a checklist item, just add:
[ ] to the beginning of
the item after the list indicator:
- [ ] get permits
Here’s the list again formatted with checklists:
To mark a checklist item as done, there are two ways, the manual way or using a keyboard shortcut.
Marking the checklist item as done requires changing the
[ ] to:
To mark: “get permits” as done, change it from:
Another way of marking a checklist item as done, is on the line with
the checklist item, hit the org-mode shortcut key:
Using the shortcut key has advantages as this updates other checklist items, such as progress meters and parent checklist items, presented in the following sections.
Here’s how to marking items in an org-mode checklist looks like:
Parent Checklist Items
One level of checklist items is nice, for bigger projects, having multiple levels of checklist items would help.
Taking the previous checklist further:
Keeping track of two items and each item has tasks of their own.
When using org-mode’s checklist item to update a subtask, org-mode will automatically update the parent task’s status.
When marking “get permits” as done, the following would be how org-mode will update:
See how “big project” and “project” checklist box changed from
[-] shows there is partial progress! (I love this
When marking the “execute” part of the project as done, the “big project” becomes done! This would be the state of the list in Emacs:
The “big project” is complete, indicated by:
[X], “project” is still
in progress as its checkbox is
[-], because “celebrate big project”
is not complete and “big project” is complete.
Here’s what it looks like in action:
[-] show up helps indicate there’s progress on a group of
tasks. To get additional detail on the progress, org-mode provides an
auto-updating count and a percentage indicator for any checklist item.
On any checklist item or parent of checklist items, adding
the end of the item will indicate to org-mode to automatically fill in
the appopriate values for done items and the total number of items.
Taking the state of our last list, appending
[/] to the “project”,
“big project”, and “celebrate big project” lines, it becomes:
After toggling any item from done to incomplete, org-mode updates the
[/] items with the appropriate value:
Isn’t that magical?!
Here’s a demonstration of org-mode updating progress counts when making changes to the checklist.
If you prefer to have progress percentages instead, append
the line. org-mode allows both to co-exist on the same line and will
Just like before, toggling any item forces org-mode to update values
org-mode only calculates the values for the direct descendants of the list, not all the items of a list. :-/
This is still magical for me.
This is what having progress counts and percentages on checklist items looks like in org-mode, how it updates when making changes to the checklist.
Emacs’ org-mode is simple yet provides nice helpers when working with checklists, such as:
- having simple boxes as visual indicators when marking an item done
or not by prepending
- presenting done items as
- presenting items in progress or subitems are partially done by
- automatically calculating how remaining items to do and in total by
- automatically calculating the percent complete a subitem is by
As I discover more about org-mode, it impresses me more and more. I want to integrate org-mode more into my workflow every day.
If you like to keep lists and have it automatically update as you mark items done, check out org-mode. It can improve your workflow too!