summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--emacs.d/custom/fcuny-org.el126
1 files changed, 101 insertions, 25 deletions
diff --git a/emacs.d/custom/fcuny-org.el b/emacs.d/custom/fcuny-org.el
index fd7dc0c..1ca1880 100644
--- a/emacs.d/custom/fcuny-org.el
+++ b/emacs.d/custom/fcuny-org.el
@@ -1,45 +1,121 @@
(use-package org
:ensure t
+
:hook ((org-mode . visual-line-mode)
(org-mode . org-indent-mode))
+
:bind (("C-c c" . org-capture)
("C-c a" . org-agenda))
+
:custom
+ ;; priorities. I use:
+ ;; -1 important + urgent
+ ;; -2 important + non-urgent
+ ;; -3 non-important + urgent
+ ;; -4 non-important + non-urgent
+ (org-highest-priority ?1)
+ (org-default-priority ?4)
+ (org-lowest-priority ?4)
+
(org-startup-indented t)
- (org-directory "~/Documents/notebooks")
+ (org-directory (expand-file-name "~/Documents/notebooks"))
(org-default-notes-file (concat org-directory "/inbox.org"))
(org-agenda-start-on-weekday 1)
(org-tags-column -120)
+
+ ;; I want to follow links on RET
+ (org-return-follows-link t)
+ (org-blank-before-new-entry (quote ((heading . t)
+ (plain-list-item . nil))))
+
+ ;; A few abbreviations I use regularly
(org-link-abbrev-alist
'(("src" . "~/workspace/%s")
("jira" . "https://jira.twitter.biz/browse/%s")
("ph" . "https://phabricator.twitter.biz/%s")
("go" . "http://go/%s")))
+
+ ;; The sequence I want to use to navigate tasks
(org-todo-keywoards
- '((sequence "TODO(t)" "WAIT(w@/!)" "|" "Done(d!)" "Cancelled(c@)" "Someday(s)")))
+ '((sequence "TODO(t)" "NEXT(n)" "STARTED(s)" "|" "DONE(d!)" "CANCELED(c@/!)")
+ (sequence "WAITING(w@/!)" "SOMEDAY(s)" "|" "CANCELED(c@/!)")
+ (sequence "IDEA(i)" "|" "CANCELED(c@/!)")))
+ (org-todo-state-tags-triggers '(("CANCELLED" ("CANCELED" . t))
+ ("WAITING" ("WAITING" . t))
+ (done ("WAITING"))
+ ("TODO" ("WAITING") ("CANCELED"))
+ ("NEXT" ("WAITING") ("CANCELED"))
+ ("DONE" ("WAITING") ("CANCELED"))))
+
+ (org-enforce-todo-dependencies t)
+
+ ;; list of files to use for the agenda
+ (org-agenda-files (list (expand-file-name "personal/tasks.org" org-directory)
+ (expand-file-name "personal/projects.org" org-directory)
+ (expand-file-name "twitter/tasks.org" org-directory)
+ (expand-file-name "twitter/projects.org" org-directory)
+ (expand-file-name "twitter/people.org" org-directory)
+ (expand-file-name "twitter/meetings.org" org-directory)))
+
+ ;; for the agenda, I want to see tasks in order of priorities.
+ (org-agenda-custom-commands
+ '(("c" "Agenda by priorities"
+ ((tags-todo "PRIORITY=\"1\""
+ ((org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done))
+ (org-agenda-overriding-header "important and urgent:")))
+ (tags-todo "PRIORITY=\"2\""
+ ((org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done))
+ (org-agenda-overriding-header "important and non-urgent:")))
+ (tags-todo "PRIORITY=\"3\""
+ ((org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done))
+ (org-agenda-overriding-header "non-important and urgent:")))
+ (agenda "" ((org-agenda-ndays 1)))
+ (alltodo "" ((org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done)))))
+ ((org-agenda-compact-blocks t)))))
+
(org-capture-templates
- (quote (("b" "Bookmark" entry
- (file+headline "~/Documents/notebooks/notes.org" "Bookmark")
- "* TODO %?\n%i\n:PROPERTIES:\n:CREATED: %U\n:END:\n")
- ("r" "Reference" entry
- (file+headline "~/Documents/notebooks/notes.org" "Reference")
- "* %?\n%i\n:PROPERTIES:\n:CREATED: %U\n:END:\n")
- ("e" "Event" entry
- (file+headline "~/Documents/notebooks/notes.org" "Event")
- "* %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n")
- ("t" "Todo" entry
- (file+headline "~/Documents/notebooks/personal/todo.org" "New")
- "* TODO %?\n")
- ("T" "Work Todo" entry
- (file+headline "~/Documents/notebooks/twitter/todo.org" "New")
- "* TODO %?\n")
- ("d" "Diary" entry
- (file+olp+datetree "~/Documents/notebooks/personal/diary.org")
- "* %U %?\n" :tree-type week)
- ("D" "Work Diary" entry
- (file+olp+datetree "~/Documents/notebooks/twitter/diary.org")
- "* %U %?\n" :tree-type week)
- ("I" "inbox, refile later" entry (file "~/Documents/notebooks/inbox.org")
- "\n* %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n")))))
+ `(;; templates for general references, links, etc. They can be relevant for both work and personal learning.
+ ("b" "Bookmark" entry
+ (file+headline ,(concat org-directory "/notes.org") "Bookmark")
+ "* TODO %^{LINK}\n%?\n:PROPERTIES:\n:CREATED: %U\n:END:\n"
+ :empty-lines 1)
+ ("r" "Reference" entry
+ (file+headline ,(concat org-directory "/notes.org") "Reference")
+ "* %^{TITLE}\n%?\n:PROPERTIES:\n:CREATED: %U\n:END:\n"
+ :empty-lines 1)
+ ("e" "Event" entry
+ (file+headline ,(concat org-directory "/notes.org") "Event")
+ "* %^{EVENT}\n%?\n:PROPERTIES:\n:CREATED: %U\n:END:\n"
+ :empty-lines 1)
+
+ ;; templates for personal things only.
+ ("t" "Personal Todo" entry
+ (file+headline ,(concat org-directory "/personal/tasks.org") "New")
+ "* TODO %?\n"
+ :empty-lines 1)
+ ("d" "Personal Journal" entry
+ (file+olp+datetree ,(concat org-directory "/personal/journal.org"))
+ "* %U %?\n"
+ :empty-lines 1)
+
+ ;; templates for work related things only.
+ ("T" "Work Todo" entry
+ (file+headline ,(concat org-directory "/twitter/tasks.org") "New")
+ "* TODO %?\n"
+ :empty-lines 1)
+ ("D" "Work Journal" entry
+ (file+olp+datetree ,(concat org-directory "/twitter/journal.org"))
+ "* %U %?\n"
+ :empty-lines 1)
+ ("M" "Meeting" entry
+ (file+olp+datetree ,(concat org-directory "/twitter/meetings.org"))
+ "* %U %^{TITLE}\n%?\n"
+ :empty-lines 1)
+
+ ;; refile!
+ ("I" "Inbox, refile later" entry
+ (file ,(concat org-directory "/inbox.org"))
+ "\n* %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n"
+ :empty-lines 1))))
(provide 'fcuny-org)