summaryrefslogtreecommitdiff
path: root/conf/om.el
diff options
context:
space:
mode:
Diffstat (limited to 'conf/om.el')
-rw-r--r--conf/om.el203
1 files changed, 203 insertions, 0 deletions
diff --git a/conf/om.el b/conf/om.el
new file mode 100644
index 0000000..00cdf04
--- /dev/null
+++ b/conf/om.el
@@ -0,0 +1,203 @@
+;;; om.el - org mode config
+;; created 24 Nov 2011
+
+;;;; org-mode
+(setq org-log-done t)
+(setq org-todo-keywords
+ '((sequence "TODO" "STARTED" "|" "DONE" "NA")))
+
+;(setq org-agenda-files (list "~/notes/tasks.org"))
+
+;; next 6 lines merged from prelude-org
+(global-set-key "\C-cl" 'org-store-link)
+(global-set-key "\C-ca" 'org-agenda)
+(global-set-key "\C-cb" 'org-iswitchb)
+(setq org-log-done t)
+(defun prelude-org-mode-defaults ()
+ (electric-indent-mode -1))
+
+;; allow for file to end in txt
+(add-to-list 'auto-mode-alist '("\\.org.txt$" . org-mode))
+
+;; set up capture
+;(setq org-default-notes-file (expand-file-name "~/notes/tasks.org"))
+(setq org-capture-templates
+ '(("c" "cal" entry (file+headline "~/notes/calendar.org" "misc")
+ "* %?")
+ ("t" "Todo" entry (file+headline "~/notes/tasks.org" "To file")
+ "* TODO %?")
+ ("m" "mail todo" entry (file+headline "~/notes/tasks.org" "mail")
+ "* TODO %?\nSource: %u, %c\n%i")
+ ("d" "mail date" entry (file+headline "~/notes/calendar.org" "mail")
+ "* %?\nSource: %u, %c\n%i")))
+
+;; for mutt capture
+(require 'org-protocol)
+;; ensure that emacsclient will show just the note to be edited when invoked
+;; from Mutt, and that it will shut down emacsclient once finished;
+;; fallback to legacy behavior when not invoked via org-protocol.
+(add-hook 'org-capture-mode-hook 'delete-other-windows)
+(setq my-org-protocol-flag nil)
+(defadvice org-capture-finalize (after delete-frame-at-end activate)
+ "Delete frame at capture finalization"
+ (progn (if my-org-protocol-flag (delete-frame))
+ (setq my-org-protocol-flag nil)))
+(defadvice org-capture-kill (after delete-frame-at-end activate)
+ "Delete frame at capture abort"
+ (progn (if my-org-protocol-flag (delete-frame))
+ (setq my-org-protocol-flag nil)))
+(defadvice org-protocol-capture (before set-org-protocol-flag activate)
+ (setq my-org-protocol-flag t))
+
+(custom-set-variables
+ '(org-agenda-files (quote ("~/notes/calendar.org" "~/notes/tasks.org")))
+ '(org-default-notes-file "~/notes/tasks.org")
+ '(org-agenda-ndays 7)
+; '(org-deadline-warning-days 14)
+ '(org-agenda-show-all-dates t)
+ '(org-agenda-skip-deadline-if-done t)
+ '(org-agenda-skip-scheduled-if-done t)
+ '(org-agenda-start-on-weekday nil)
+ '(org-reverse-note-order t)
+ '(org-fast-tag-selection-single-key (quote expert))
+ '(org-agenda-custom-commands
+ (quote (("d" todo "DONE" nil)
+ ("s" todo "STARTED" nil)
+ ("A" agenda ""
+ ((org-agenda-skip-function
+ (lambda nil
+ (org-agenda-skip-entry-if (quote notregexp) "\\=.*\\[#A\\]")))
+ (org-agenda-ndays 1)
+ (org-agenda-overriding-header "Today's Priority #A tasks: ")))
+ ("u" alltodo ""
+ ((org-agenda-skip-function
+ (lambda nil
+ (org-agenda-skip-entry-if (quote scheduled) (quote deadline)
+ (quote regexp) "\n]+>")))
+ (org-agenda-overriding-header "Unscheduled TODO entries: ")))))))
+
+;; other customization in prelude's org module
+
+;; have font colors in code blocks
+(setq org-src-fontify-natively t)
+
+;; from http://doc.norang.ca/org-mode.html
+;; this should prevent blank lines from being inserted
+;; before headers
+(setq org-blank-before-new-entry (quote ((heading)
+ (plain-list-item . auto))))
+(setq org-cycle-separator-lines 1)
+
+;; for evil setup
+;; put here because wasn't loading when in evil config file
+(eval-after-load "org"
+ '(progn
+ (defun always-insert-item ()
+ (interactive)
+ (if (not (org-in-item-p))
+ (insert "\n- ")
+ (org-insert-item)))
+
+ (evil-define-key 'normal org-mode-map "O" (lambda ()
+ (interactive)
+ (end-of-line)
+ (org-insert-heading t)
+ (evil-append nil)
+ ))
+
+ (evil-define-key 'normal org-mode-map "o" (lambda ()
+ (interactive)
+ (end-of-line)
+ (always-insert-item)
+ (evil-append nil)
+ ))
+ ; mark a TODO item as DONE
+ ; s - status
+ (evil-define-key 'normal org-mode-map ",s" 'org-todo)
+ ;change bullet style
+ (evil-define-key 'normal org-mode-map "-" 'org-cycle-list-bullet)
+ ;; (evil-define-key 'normal org-mode-map "L" 'org-shiftright)
+ ;; (evil-define-key 'normal org-mode-map "H" 'org-shiftleft)
+ ;; (evil-define-key 'normal org-mode-map "K" 'org-shiftup)
+ ;; (evil-define-key 'normal org-mode-map "J" 'org-shiftdown)
+ (evil-define-key 'normal org-mode-map (kbd "M-l") 'org-metaright)
+ (evil-define-key 'normal org-mode-map (kbd "M-h") 'org-metaleft)
+ (evil-define-key 'normal org-mode-map (kbd "M-k") 'org-metaup)
+ (evil-define-key 'normal org-mode-map (kbd "M-j") 'org-metadown)
+ (evil-define-key 'normal org-mode-map (kbd "M-L") 'org-shiftmetaright)
+ (evil-define-key 'normal org-mode-map (kbd "M-H") 'org-shiftmetaleft)
+ (evil-define-key 'normal org-mode-map (kbd "M-K") 'org-shiftmetaup)
+ (evil-define-key 'normal org-mode-map (kbd "M-J") 'org-shiftmetadown)
+
+;; ;;; org agenda -- leave in emacs mode but add j & k
+;; (define-key org-agenda-mode-map "j" 'evil-next-line)
+;; (define-key org-agenda-mode-map "k" 'evil-previous-line))
+ ))
+
+; from http://doc.norang.ca/org-mode.html
+(setq org-refile-targets (quote ((nil :maxlevel . 5)
+ (org-agenda-files :maxlevel . 5))))
+
+; Stop using paths for refile targets - we file directly with IDO
+(setq org-refile-use-outline-path nil)
+
+; Targets complete directly with IDO
+(setq org-outline-path-complete-in-steps nil)
+
+; Allow refile to create parent tasks with confirmation
+(setq org-refile-allow-creating-parent-nodes (quote confirm))
+
+; Use IDO for both buffer and file completion and ido-everywhere to t
+(setq org-completion-use-ido t)
+(setq ido-everywhere t)
+(setq ido-max-directory-size 100000)
+(ido-mode (quote both))
+
+;;;; Refile settings
+; Exclude DONE state tasks from refile targets
+(defun bh/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 'bh/verify-refile-target)
+
+;; set up babel languages
+(org-babel-do-load-languages
+ 'org-babel-load-languages
+ '( (perl . t)
+ (sh . t)
+ (python . t)
+ (R . t)
+ (emacs-lisp . t)
+ (latex . t)
+ (ditaa . t)
+ ))
+;; don't ask for confirmation before running code
+(setq org-confirm-babel-evaluate nil)
+
+;; babel minted latex export
+;; modified from
+;; http://orgmode.org/worg/org-tutorials/org-latex-export.html
+(setq org-export-latex-listings 'minted)
+(setq org-export-latex-custom-lang-environments
+ '(
+ (R "rcode")
+ (sh "shcode")
+ (python "pythoncode")
+ ))
+;; (setq org-export-latex-custom-lang-environments
+;; '(
+;; (emacs-lisp "common-lispcode")
+;; ))
+;; (setq org-export-latex-minted-options
+;; '(("frame" "lines")
+;; ("fontsize" "\\scriptsize")
+;; ("linenos" "")))
+(setq org-latex-to-pdf-process
+ '("pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"
+ "pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"
+ "pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"))
+
+;; ditaa giving error
+;; could not find elpa/contrib/scripts/ditaa.jar
+(setq org-ditaa-jar-path "/usr/share/ditaa/ditaa.jar")