bc3c35bc58cae9dcb3c8878e4ecfbd157a56b2b9
[dotfiles.git] / emacs.d / elisp / init-org.el
1
2
3 ;; http://doc.norang.ca/org-mode.html  Org Mode - Organize Your Life In Plain Text!
4
5 (add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\)$" . org-mode))
6
7 (global-set-key "\C-cl" 'org-store-link)
8 (global-set-key "\C-ca" 'org-agenda)
9 (global-set-key "\C-cb" 'org-iswitchb)
10
11
12 (global-set-key (kbd "<f12>") 'org-agenda)
13
14 (setq org-agenda-files (quote ("~/Private/org")))
15
16 (setq org-todo-keywords
17       (quote ((sequence "TODO(t)" "ONGOING(n)" "|" "DONE(d)")
18               (sequence "WAITING(w@/!)" "HOLD(h@/!)" "|" "CANCELLED(c@/!)" ))))
19
20 (setq org-todo-keyword-faces
21       (quote (("TODO" :foreground "red" :weight bold)
22               ("ONGOING" :foreground "blue" :weight bold)
23               ("DONE" :foreground "forest green" :weight bold)
24               ("WAITING" :foreground "orange" :weight bold)
25               ("HOLD" :foreground "magenta" :weight bold)
26               ("CANCELLED" :foreground "forest green" :weight bold))))
27
28 (setq org-todo-state-tags-triggers
29       (quote (("CANCELLED" ("CANCELLED" . t))
30               ("WAITING" ("WAITING" . t))
31               ("HOLD" ("WAITING") ("HOLD" . t))
32               (done ("WAITING") ("HOLD"))
33               ("TODO" ("WAITING") ("CANCELLED") ("HOLD"))
34               ("ONGOING" ("WAITING") ("CANCELLED") ("HOLD"))
35               ("DONE" ("WAITING") ("CANCELLED") ("HOLD")))))
36
37 ;; change a task state C-c C-t Key
38 (setq org-use-fast-todo-selection t)
39 (setq org-treat-S-cursor-todo-selection-as-state-change nil)
40
41
42
43 ;; Org Capture
44 (setq org-directory "~/Private/org/")
45 (setq org-default-notes-file (concat org-directory "refile.org"))
46 (setq org-default-diary-file (concat org-directory "diary.org"))
47
48 (global-set-key (kbd "C-c c") 'org-capture)
49
50 ;; Capture templates for: TODO tasks, Notes, appointments, phone calls, meetings, and org-protocol
51 (setq org-capture-templates
52       (quote (("t" "Todo" entry (file org-default-notes-file)
53                "* TODO %?\n\n  %U\n  %a\n" :clock-in t :clock-resume t)
54               ("r" "Respond" entry (file org-default-notes-file)
55                "* NEXT Respond to %:from on %:subject\nSCHEDULED: %t\n  %U\n  %a\n" :clock-in t :clock-resume t :immediate-finish t)
56               ("n" "Note" entry (file org-default-notes-file)
57                "* %? :NOTE:\n\n  %U\n  %a\n" :clock-in t :clock-resume t)
58               ("j" "Journal" entry (file+datetree org-default-diary-file)
59                "* %?\n%U\n" :clock-in t :clock-resume t)
60               ("w" "Org-protocol" entry (file org-default-notes-file)
61                "* TODO Review %c\n%U\n" :immediate-finish t)
62               ("m" "Meeting" entry (file org-default-notes-file)
63                "* MEETING with %? :MEETING:\n%U" :clock-in t :clock-resume t)
64               ("p" "Phone call" entry (file org-default-notes-file)
65                "* PHONE %? :PHONE:\n  %U" :clock-in t :clock-resume t)
66               ("h" "Habit" entry (file org-default-notes-file)
67                "* NEXT %?\n\n  %U\n  %a\n\nSCHEDULED: %(format-time-string \"%<<%Y-%m-%d %a .+1d/3d>>\")\n:PROPERTIES:\n:STYLE: habit\n:REPEAT_TO_STATE: NEXT\n:END:\n"))))
68
69
70 (provide 'init-org)