Emacs org-mode is the perfect tool for GTD.

GreenDog

Registered
I have perfected my org-mode GTD setup today. It's the most perfect GTD system on this planet.

My org-mode configuration automatically generates GTD overview from a list of TODO items instantaneously.

On the first image, you can see inbox, waiting tasks, tasks without context, active projects, and stuck projects. A project is simply a TODO task with subtasks. Active projects have NEXT tasks. Stuck projects don't have NEXT tasks.

When you have an idea, you can quickly capture it in an inbox by pressing Ctrl+C and then C. You can send inbox items to appropriate places later.

01.png

On the second image, you can see tasks scheduled for today, NEXT @errand tasks, NEXT @review tasks, NEXT @home tasks, and NEXT @read/watch/listen tasks. NEXT tasks are simply tasks to be done next. TODO tasks are tasks to be done after NEXT tasks.

The good thing about scheduled tasks is that a scheduled task can be repeated on a regular basis. Thus, weekly review is a repeated scheduled task. Getting a haircut is a repeated scheduled task. My GTD system reminds me to get a haircut 45 days after getting the last haircut. It also reminds me to do weekly review every sunday.

02.png

On the third image, you can see @errand tasks, @review tasks, @home tasks, and @read/watch/listen tasks. These are all TODO tasks that are going to be done after NEXT tasks.

03.png

My tasks are actually organized in a hierarchy in an org file as below.

04.png

Thus, you can see projects and tasks in GTD overview and also in a hierarchy.

Plus, you can access emacs org-mode anywhere on this planet if you run emacs org-mode on an ssh session on a Raspberry Pi server. If you use android or iOS, you can access emacs org-mode through an ssh client on android or iOS. Think about using this on iPad. By the way, the emacs color theme that I use is gruvbox-theme.

This is perfect. With this setup, no task slips through the cracks.

My org-mode setup is contained in emacs-org-mode.el and gtd-settings.org. If you know how to write emacs lisp, you would understand my source code.

To utilize emacs-org-mode.el, I recommend putting the following lines in your emacs initialization file which is usually ~/.emacs.

Code:
(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
                         ("melpa" . "http://melpa.org/packages/")
                         ("org" . "https://orgmode.org/elpa/")))

(package-initialize)
(unless package-archive-contents
  (package-refresh-contents))
(unless (package-installed-p 'use-package)
  (package-install 'use-package))

(load "~/.emacs-org-mode.el")

(use-package org
  :pin org
  :config
  (use-package org-checklist
    :ensure org-plus-contrib)
  (add-hook 'org-agenda-mode-hook (lambda () (tooltip-mode 0))))

You also need to change my/inbox, my/project, my/someday, and my/birthdays in emacs-org-mode.el before using it.

To utilize gtd-settings.org, put gtd-settings.org in the same folder as GTD org files(my/inbox, my/project, my/someday, and my/birthdays) which should contain the following line at the top.

Code:
#+SETUPFILE: gtd-settings.org
 

Attachments

  • emacs-org-mode.el.txt
    10.6 KB · Views: 144
  • gtd-settings.org.txt
    195 bytes · Views: 138
Last edited:

mcogilvie

Registered
I am happy for you. Not an option for most people, but for those who know emacs and lisp, here’s your chance to leave commercial software behind. OK, don’t all get in line at once. :)
 

Oogiem

Registered
I have perfected my org-mode GTD setup today. It's the most perfect GTD system on this planet.
For you. There is NO system that is perfect for everybody.

With that caveat I'm glad you've found something you like and that works for you. For me I know I'd go start raving mad if I had to use that for more than 10 minutes. :)
 

Geeko

GTD since 2017
I have perfected my org-mode GTD setup today. It's the most perfect GTD system on this planet.
As a vim-user I have to object :D Ok, let’s leave the editor wars behind and get serious ;)

I really like the look of your system and I use a lot of console tools myself (ranger, mutt, cmus, …) but let’s face it: You won’t find any fans of this implementation outside the console-geek-world.
I also see two problems with your setup (not mentioning my lack of experience with emacs):
  • With an ssh-server you depend on a stable internet connection. Here in southern Germany there is no way you can rely on that.
  • Working on a smartphone console is (at least for me) really painful. The keyboard is small and all those special keys are missing that are crucial for using emacs.
I would prefer a graphical solution for my smartphone and maybe a console solution for my desktop PC and my notebook that does not need a permanent internet connection. Maybe an implementation based on a CalDAV-server and a local org-mode script on your workstations would be a solution (to stay in emacs-world).

Just a few suggestions ;)
Thanks for sharing and good to know that there are some other console-geeks around :)

Cheers,
Tristan
 

GreenDog

Registered
Working on a smartphone console is (at least for me) really painful. The keyboard is small and all those special keys are missing that are crucial for using emacs.

That's why you use org-evil mode that comes with vim-like keybindings. You can also use iPad or an android tablet for this.
I use hacker's keyboard on my android phone. It's not very convenient, but hacker's keyboard has Control, Alt, and function keys. org-mode is actually serviceable on an android phone.

With an ssh-server you depend on a stable internet connection. Here in southern Germany there is no way you can rely on that.

You can use mosh for unreliable connections. But, if the connections are too unreliable, mosh would be useless, too.


(to stay in emacs-world).

I don't like emacs much. I'd rather use a text editor with a saner programming language and native concurrency support. I use emacs not because I'm a console geek but because org-mode is the perfect tool for GTD for now. I learned emacs lisp and org-mode just to implement a perfect GTD task management system. If there is something better than org-mode on another platform, I'll learn it. If there is no good GTD support on emacs, there is no good reason to keep using it.

I would prefer a graphical solution for my smartphone and maybe a console solution for my desktop PC and my notebook that does not need a permanent internet connection.

You can use emacs org-mode locally on your android phone with termux. Use syncthing to automatically synchronize GTD files between android and your desktop computer when your phone is connected to your home WiFi network. I use this currently, but I plan to move onto Raspberry Pi server because iPad doesn't support emacs or syncthing.
 
Last edited:

ERJ1

Jedi Master
This is cool, but it looks a bit like you're clacking away at a computer interface that would be aboard the Nostromo in Alien ;)
 

Geeko

GTD since 2017
This is cool, but it looks a bit like you're clacking away at a computer interface that would be aboard the Nostromo in Alien ;)

Well, I still consider a command line as a modern interface (if you use the right shell), especially on remote machines :)
And it is a great way to keep people from shoulder surfing, since console-work usually looks boring ;)

Cheers,
Tristan
 

AFG

Registered
I heartily agree that emacs’ org-mode is great.

I miss it.

The main reasons I gave up using it circa 8 years ago were

A) I use my portable devices (iPhone, Apple Watch) a lot. Mostly for capture, but also for browsing. Last time I checked the only .org-mode qvailability on my phone (Android at the time) was MobileOrg (still #1 when I search the iOS App Store), which was distinctly unsatisfactory and unreliable. I briefly ran actual emacs on my Sndroid Damsung Galaxy Note 2 - very bad. (Annoyingly, I used to run emacs on an even earlier and smaller Linux phone from China - much better.)

B) I am the antithesis of the .org-mode motto “your life in plain text”. The stuff that I capture is about 30% screen snipping of bitmapngraphics (of phone, but often on PC or web), 30% voice notes (converted unreliable to text - so I prefer to have the original voice playable to check, 30% text captured from HTML email or web (making losing formattbig when I paste into .org-mode annoying), and maybe 10% ordinary text. I rely on OCR to search then screen snips I capture.

I mention that I gave up on .org-mode circa 8 years ago in the hope that you will tell me that things have gotten better.

E.g. that somebody has worked the kinks out if using emacs/org-mode on text files embedded in a tar archive, so that images pasted stayed in the same file from the OS point of view. Having my GTD stuff in one file and images in separate files was unacceptable - too many times they got separated,

E.g. that there is now OCR available on Linux, FLOSS, integrated with emacs and .org-mode

E.g. that emacs is now available on some decent phone.
 

GreenDog

Registered
A) I use my portable devices (iPhone, Apple Watch) a lot. Mostly for capture, but also for browsing. Last time I checked the only .org-mode qvailability on my phone (Android at the time) was MobileOrg (still #1 when I search the iOS App Store), which was distinctly unsatisfactory and unreliable. I briefly ran actual emacs on my Sndroid Damsung Galaxy Note 2 - very bad. (Annoyingly, I used to run emacs on an even earlier and smaller Linux phone from China - much better.)

B) I am the antithesis of the .org-mode motto “your life in plain text”. The stuff that I capture is about 30% screen snipping of bitmapngraphics (of phone, but often on PC or web), 30% voice notes (converted unreliable to text - so I prefer to have the original voice playable to check, 30% text captured from HTML email or web (making losing formattbig when I paste into .org-mode annoying), and maybe 10% ordinary text. I rely on OCR to search then screen snips I capture.

I mention that I gave up on .org-mode circa 8 years ago in the hope that you will tell me that things have gotten better.

E.g. that somebody has worked the kinks out if using emacs/org-mode on text files embedded in a tar archive, so that images pasted stayed in the same file from the OS point of view. Having my GTD stuff in one file and images in separate files was unacceptable - too many times they got separated,

E.g. that there is now OCR available on Linux, FLOSS, integrated with emacs and .org-mode

E.g. that emacs is now available on some decent phone.

You can ssh into a server that synchronizes org-mode files with your desktop. You may want to build a fanless ECC server for that. APU2D4 is a great option. https://pcengines.github.io/#mr-15 and https://3mdeb.com/firmware/enabling-ecc-on-pc-engines-platforms/ tell you how to enable ECC on APU2D4. A server has an advantage that it allows mobile devices to share one emacs setup.

I prefer text. I'd just collect screenshots and voice recordings in my smartphone's file inbox and later convert them to texts in org-mode inbox. Formatting doesn't matter much to me because I can reformat anything to org-mode text. make a checklist that you check everyday to make sure nothing slips through cracks. You can also create links to image files in org-mode files.
 

AFG

Registered
I just saw a survey of Open Source OCR. Most are DL/NNs based on things like TensorFlow. Printed text, not handwriting, but printed text is most of what I want. Plus, Open Source / DL / NN => hope of handwriting in future.

This makes me reconsider org mode. But first I will have to fix the "image attachments get separated from org mode file" problem.
 

Alex J Whitt

Registered
But I wish elisp were as nice and sane as Clojure... I'm pretty useless with elisp. tried to refactor out the `(tags "@home+TODO=...` blocks to keep things DRY but I have no earthly idea how those symbols under `org-agenda-custom-commands` are evaluated. As it stands, there's a ton of redundant code in there and it's a bit hard to manage when adding or moving or reordering your contexts.

Nonetheless, the system itself is perfect.
 

edward

Registered
Hi, I love your setup, but I'm having a bit of a problem implementing. Do you have a Github, readme, etc for setting this up for an existing org config? I'm not so familiar with elisp (it's in my someday list :p)
 

biscuittoman

Registered
3 months of GTD past, and 2 weeks into the org-mode learning.

I have tried 20+ apps that does a bit of GTD, listened to all episodes of GTD podcast, purchased guides from here, read upon numerous threads for implementation etc. And my conclusion was that there is really no perfect app. Still, we are human beings and we strive for perfection. And a system like GTD tickles that side of us every now and then.

org-mode is really great, but there are some disadvantages:

- It requires a PC and a keyboard at the basic level, web and mobile use is limited. (For those who are master at emacs could probably do much more than that, and there is Orgzly for Android which I use but between PC and using Orgzly, I do prefer PC and that kind of defeats the purpose for capturing)
- The learning curve is steep.

After 2 weeks my left hand and the wrist is starting to hurt. I don't think I used it all that much - just learning stuff and setting up the system. That scared me a bit, not gonna lie. Then, I started to think: Am I missing something here? Why did I get into this GTD stuff? To be stress-free AND productive. I'm not sure org-mode or any software provide this. GTD IS really tool-agnostic. Complicating and overthinking stuff bring more headache. But I do support whoever does find use in tools, be it org-mode, todoist or paper-based.
 
Top