

Task Management using Emacs and Org-mode
source link: https://deniskyashif.com/2023/08/28/task-management-using-emacs-and-org-mode/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Task Management using Emacs and Org-mode
During my daily work, I must be on top of several projects. I do the technical groundwork, plan, coordinate, and follow up with people. That is not always easy as the context switching becomes quite exhausting. I’ve become protective of my memory bandwidth. I use it sparingly, mostly in areas where I can bring the most value. Hence, I don’t try to memorize my work agenda. A plain text file does it for me instead.
Task management is hard to get right. One can easily overdo it, causing it to become a chore. One can also underdo it, which then renders it useless.
My task management had to have two essential properties.
- Easy Writing - Maintaining my tasks should not cause me extra effort.
- Easy Reading - I should quickly get the needed information and never miss anything.
After all, the task management has to work for us, not the other way around.
It took me a while to find a process matching the above properties. I tried several tools. Some had many features, but I found them hard to work with. Others were simple but harder to navigate for larger workloads. I needed to set up my workflow using a tool, and it had to be just right. I found it in Emacs and its Org-mode.
Not everything must be a Task
It’s important to keep this in mind before diving into the workflow. Sometimes, we only need to do the thing and move on. I add items to my task list sparingly. Otherwise I’d end up with a cluttered agenda with mostly useless information.
My Org-mode config
I keep everything in a single file ~/org/tasks.org
.
(setq org-agenda-files '("~/org"))
My tasks have three states - [TODO] -> [PROG] -> [DONE]
. I delete the cancelled tasks and archive the DONE ones (more on that later).
(setq org-todo-keywords
'((sequence "TODO(t)" "PROG(p)" "DONE(d)")))
Structure
|-- Root
|-- [Project] :Tag:
|-- [Task]
...
...
This structure allows me to expand/collapse and easily navigate through projects. I have a single root and topic-based child nodes. I tag each of the topic nodes nodes so that the tasks below can inherit it. That comes handy when searching/filtering my agenda. My tree rarely gets deeper that three levels. Sometimes, I break down a task into subtasks using bullets. In general, however, I try to keep the structure flat and as simple as possible.
Here is an example:
Just like not everything deserves a to be a Task, not every Task deserves to have a deadline. I set deadlines only when sometihng is time sensitive. I set scheduled dates only for things which take more thay a day or two to complete. Not all tasks have to be DONE either. We have shifting priorities, so it’s OK for a Task to remain in the list for as long as it’s needed.
Navigation and Search
My custom agenda view shows me the weekly distribution by deadline/schedule and a global list of tasks groped by their state.
;; Customized view for the daily workflow. (Command: ", a n")
(setq org-agenda-custom-commands
'(("n" "My Weekly Agenda"
((agenda "" nil)
(todo "PROG" nil)
(todo "TODO" nil)
(todo "DONE" nil))
nil)))
(setq org-todo-keyword-faces
'(("PROG" . (:foreground "yellow" :weight bold))))
;; Hide the deadline prewarning prior to scheduled date.
(setq org-agenda-skip-deadline-prewarning-if-scheduled 'pre-scheduled)
Show my custom weekly agenda view (org-agenda) n
Most of the work I do in thus buffer falls down to:
- Checking my Tasks for the day/week using the
d
/w
keys. - Checking the tasks for a project by using
\
and input+{TagName}
- Updating a Task’s state by pressing
t
. - Editing a Task by placing the caret on it and pressing
[Tab]
. - Switching to next/previous week by pressing
f
/b
respectively.
List all the TOOD entries (org-agenda) t
Here I filter my tasks by state.
Org-mode has plenty more ways to search and navigate, but the above are the ones I use most of the time.
Archiving
I archive my completed Tasks by pressing $
when on a task in the Agenda buffer.
Concluison
There are still areas of Org-mode and Emacs which I’m yet to explore. This wokrflow, however, has been working well for me. The Agenda view is one of the screens I keep open most of the time, and the Task list is what I usually start my days with. I use Spacemacs, so the ergonomics of this workflow might differ in other distributions.
Recommend
-
107
Blogging with org-mode and Gitlab Pages 30 Sep 2017 I invested a little of my time to setup this blog so, in this post, I'm going to tell you my experiences so far.
-
55
I've been wanting to check out lsp-mode under Emacs for a while now. LSP stands for Language Protocol Service. The idea is that you have a standard interface between your editor and some language server. If you program in multiple languages and...
-
33
Emacs org-mode for Developers Feb. 8, 2020
-
42
I spent part of today cleaning up my Emacs workflow. Specifically, how I capture emails and links into org-modeI already wrote about how I used org-capture (here and here). It's pretty clean and easy but there was one thing that always nagged at...
-
10
Published August 2, 2019 #howto, #emacs,
-
9
Using org-mode as an SQL playground February 3, 2022 Showcase video: For every web app I work on, a database client is always present for exploring data and building complex queries. Recently,...
-
4
Netops with Emacs and Org mode Vincent Bernat March 5, 2017 Also avail...
-
9
What’s this about? Spaced repetition (SR) is a type of learning technique which is predicated on a typical, observed memory degradation rate and schedules one’s reviewing intervals accordingly, so as to maximize the...
-
11
May 15, 2022Literate APIs with Emacs and Org ModeIn the last post, we looked at the Rest Client extension for VS Code. We started taking...
-
6
Introduction I have been using Org mode to keep a daily journal of useful notes for around a year now. One such type of note is the amount of exercise I’ve done on a particular day. While this is a useful record, I wante...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK