Org my life
org-mode is an amazing tool, you can use it to write documents, make spreadsheets, track to-do list, generate agendas, etc. If you use Emacs a lot, you don't want to miss this unicorn.
I mainly use it as my notebook, and GTD tool.
This post is about how I configured it to be my single daily use GTD tool.
Customized Task
I use 5 different states of my task item. WAITING
and
CANCELED
are abnormal cases, when switching to these
states, note
of reason should be added, as well as time-stamp, if task is done,
it switches to DONE state, with a time-stamp, but no note needed.
1 | (setq org-todo-keywords |
What are the meaning of the single characters such as "t", "s", "w"?
They're the shortcuts to switch task state, C-c C-t
and
type "s", task is started, type "d", task done.
1 | ;; Enable task switching shortcuts |
To make states look clear, I set some colors for each state.
1 | (setq org-todo-keyword-faces |
Sometimes, tasks contain sub-tasks, it looks messy if I mark the task done, but some sub-tasks are in other states. I prefer task will be automatically mark as done only if all sub-tasks are done.
1 | ;; Parent can't be marked as done unless all children are done |
Handy Capture
I store all my tasks in one single file named "work.org", it contains lots of task items, different categories, adding task directly to it is not an easy job.
Org capture saves me, when I think something might need to do, just
C-c c
, then, select a capture template, and record it.
Later, to move it to work.org
, just type
C-c C-w
.
I save all captures in refile.org
, and templates
as follow,
1 | (setq org-default-notes-file "~/Dropbox/Documents/org/refile.org") |
Come to The Cloud
We live in a cloud era, services are weak if can't be accessed from anywhere, any device.
I want to see my agendas, and tasks in my iPhone, lucky me, guys make MobileOrg, although it's not fully functional as a GTD tool, but it works.
To use MobileOrg via Dropbox,
accessing to Dropbox should be authorized, and a folder
MobileOrg
will be created after.
In Emacs, some configuration need to be added.
1 | (setq org-mobile-directory "~/Dropbox/MobileOrg") |
Below settings tell org-mobile where to find captures, tasks and
agendas, org-mobile-push
will transfer them to
MobileOrg
folder, which will be synced to Dropbox.
Grab an iPhone, open MobileOrg, tap sync, you get all your tasks and agendas.
Everything you changed in iPhone, will be synced to Dropbox (don't
worry, just diffs, small amount of data). org-mobile-pull
will get the changes and apply it, for my example, the changes will be
applied to work.org
and refile.org
.
But manually do this is so inefficient, hooks can be added to pull everything in cloud during Emacs startup, and push every changes to cloud during quitting Emacs.
1 | (add-hook 'after-init-hook 'org-mobile-pull) |
But this will slow down Emacs startup, I don't like it. So another way comes, automatically sync when you are idle in Emacs, like drinks coffee, or walks away.
1 | (defvar org-mobile-sync-timer nil) |
This will pull, then push org files after 10 minutes idle time.