summaryrefslogtreecommitdiff
path: root/init/km-org.el
diff options
context:
space:
mode:
Diffstat (limited to 'init/km-org.el')
-rw-r--r--init/km-org.el117
1 files changed, 52 insertions, 65 deletions
diff --git a/init/km-org.el b/init/km-org.el
index 5341f7f..b88dc19 100644
--- a/init/km-org.el
+++ b/init/km-org.el
@@ -1,9 +1,12 @@
-;;;; org-mode
(setq org-log-done t)
(setq org-todo-keywords
'((sequence "TODO" "STARTED" "|" "DONE" "NA")))
+(setq org-use-speed-commands t)
+(setq org-fast-tag-selection-single-key 'expert)
+(setq org-catch-invisible-edits 'error)
+(setq org-goto-interface 'outline-path-completion)
+(setq org-src-fontify-natively t)
-;; set up capture
(setq org-capture-templates
'(("t" "task" entry (file+headline "~/notes/tasks.org" "Inbox")
"* TODO %?\n%i")
@@ -13,7 +16,7 @@
"* %?\n%i")
("b" "backburner" entry (file+headline "~/notes/backburner.org" "Inbox")
"* TODO %?\n%i")
- ;; link counterparts
+ ;; Link counterparts
("T" "task link" entry (file+headline "~/notes/tasks.org" "Inbox")
"* TODO %?\n%i\nLink: %a")
("D" "date link" entry (file+headline "~/notes/calendar.org" "Inbox")
@@ -22,63 +25,12 @@
"* %?\n%i\nLink: %a")
("B" "backburner link" entry (file+headline "~/notes/backburner.org" "Inbox")
"* TODO %?\n%i\nLink: %a")
- ;; clipboard
+ ;; Clipboard
("x" "task clipboard" entry (file+headline "~/notes/tasks.org" "Inbox")
"* TODO %?\n%x")
("X" "misc clipboard" entry (file+headline "~/notes/misc.org" "Inbox")
"* %?\n%x")))
-(setq org-agenda-files '("~/notes/calendar.org" "~/notes/tasks.org"))
-(setq org-default-notes-file "~/notes/tasks.org")
-
-(setq org-agenda-show-all-dates t)
-(setq org-agenda-skip-deadline-if-done t)
-(setq org-agenda-skip-scheduled-if-done t)
-(setq org-agenda-start-on-weekday nil)
-(setq org-reverse-note-order t)
-(setq org-fast-tag-selection-single-key 'expert)
-
-(setq org-agenda-custom-commands
- '(("d" todo "DONE" nil)
- ("s" todo "STARTED" nil)
- ("u" "Unschedule TODO entries" alltodo ""
- ((org-agenda-skip-function
- (lambda nil
- (org-agenda-skip-entry-if 'scheduled 'deadline
- 'regexp "\n]+>")))
- (org-agenda-overriding-header "Unscheduled TODO entries: ")))
- ("p" "Past timestamps" tags "TIMESTAMP<=\"<now>\"")))
-
-
-(defvar km/org-additional-notes-files '("~/notes/backburner.org"
- "~/notes/misc.org")
- "non-agenda files that should be available for refiling")
-
-(defvar km/org-refiling-targets
- (append km/org-additional-notes-files org-agenda-files))
-
-;; other customization in prelude's org module
-
-;; have font colors in code blocks
-(setq org-src-fontify-natively t)
-
-;;;; Refile settings
-
-;; from http://doc.norang.ca/org-mode.html
-(setq org-refile-targets (quote ((nil :maxlevel . 3)
- (km/org-refiling-targets :maxlevel . 2))))
-
-;; use IDO for refiling
-(setq org-outline-path-complete-in-steps nil)
-(setq org-completion-use-ido t)
-
-;; Exclude DONE state tasks from refile targets
-(defun km/verify-refile-target ()
- "Exclude todo keywords with a done state from refile targets"
- (not (member (nth 2 (org-heading-components)) org-done-keywords)))
-
-(setq org-refile-target-verify-function 'km/verify-refile-target)
-
(defun km/open-main-orgfile ()
(interactive)
(find-file org-default-notes-file))
@@ -100,7 +52,7 @@
("b" "#+label: " "")
("r" "#+attr_latex: " "")
("R" "#+attr_html: " "")
- ;; lower case versions of defaults
+ ;; Lower case versions of defaults
("s" "#+begin_src ?\n \n#+end_src" "<src lang=\"?\">\n\n</src>")
("e" "#+begin_example\n ?\n#+end_example" "<example>\n?\n</example>")
("q" "#+begin_quote\n ?\n#+end_quote" "<quote>\n?\n</quote>")
@@ -116,16 +68,12 @@
("i" "#+index: ?" "#+index: ?")
("I" "#+include: %file ?" "<include file=%file markup=\"?\">")))
-
-;; don't let `org-cycle-agenda-files' binding override custom
+;; Don't let `org-cycle-agenda-files' binding override custom
;; `backward-kill-word' binding (`org-cycle-agenda-files' is still bound
-;; to C-,)
+;; to C-,).
(define-key org-mode-map (kbd "C-'") nil)
-(setq org-use-speed-commands t)
-
-(setq org-catch-invisible-edits 'error)
-
+;;; Org in other modes
(defun km/load-orgstruct ()
(turn-on-orgstruct++)
(turn-on-orgtbl))
@@ -133,7 +81,7 @@
(add-hook 'message-mode-hook 'km/load-orgstruct)
(add-hook 'git-commit-mode-hook 'km/load-orgstruct)
-;; avoid conflict when amsmath is loaded
+;; Avoid conflict when amsmath is loaded.
(setcar (rassoc '("wasysym" t) org-latex-default-packages-alist)
"nointegrals")
(add-to-list 'org-latex-packages-alist '("" "amsmath" t))
@@ -152,4 +100,43 @@ be restored properly."
(setq org-agenda-restore-windows-after-quit t)
(setq org-agenda-sticky nil)
-(setq org-goto-interface 'outline-path-completion)
+;;; Agenda
+
+(setq org-agenda-files '("~/notes/calendar.org" "~/notes/tasks.org"))
+(setq org-default-notes-file "~/notes/tasks.org")
+
+(setq org-agenda-show-all-dates t)
+(setq org-agenda-skip-deadline-if-done t)
+(setq org-agenda-skip-scheduled-if-done t)
+(setq org-agenda-start-on-weekday nil)
+(setq org-reverse-note-order t)
+
+(setq org-agenda-custom-commands
+ '(("d" todo "DONE" nil)
+ ("s" todo "STARTED" nil)
+ ("u" "Unschedule TODO entries" alltodo ""
+ ((org-agenda-skip-function
+ (lambda nil
+ (org-agenda-skip-entry-if 'scheduled 'deadline
+ 'regexp "\n]+>")))
+ (org-agenda-overriding-header "Unscheduled TODO entries: ")))
+ ("p" "Past timestamps" tags "TIMESTAMP<=\"<now>\"")))
+
+;;; Refiling
+
+(defcustom km/org-refiling-targets
+ (append org-agenda-files '("~/notes/backburner.org" "~/notes/misc.org"))
+ "List of all refiling targets for agend, including non-agenda
+files.")
+
+(setq org-refile-targets (quote ((nil :maxlevel . 3)
+ (km/org-refiling-targets :maxlevel . 2))))
+
+;; Use ido for refiling.
+(setq org-outline-path-complete-in-steps nil)
+(setq org-completion-use-ido t)
+
+(defun km/verify-refile-target ()
+ "Exclude DONE state from refile targets."
+ (not (member (nth 2 (org-heading-components)) org-done-keywords)))
+(setq org-refile-target-verify-function 'km/verify-refile-target)