X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=emacs_el%2Fconfiguration%2Forg-mode-configuration.el;h=552b08ec5012f73139f05d1278d4f07f476c9667;hb=ba0cec6d41b9f8c431c0780b656dcb2a33f42dc2;hp=bb3ff9c0ea26fef57ae014ca44bba30854b8d237;hpb=18edd93e98d2ba86f261b1100b0eaa00be53532b;p=lib.git diff --git a/emacs_el/configuration/org-mode-configuration.el b/emacs_el/configuration/org-mode-configuration.el index bb3ff9c..552b08e 100644 --- a/emacs_el/configuration/org-mode-configuration.el +++ b/emacs_el/configuration/org-mode-configuration.el @@ -91,43 +91,58 @@ ; org mode agenda files (setq org-agenda-files - (quote ("~/projects/debbugs/debbugs.org" - "~/projects/notes/notes.org" - "~/projects/notes/refile.org" - "~/projects/notes/diary.org" - "~/projects/origins_of_life/ool.org" - "~/projects/sysadmin/sndservers/sndservers.org" - "~/projects/chaim/chaim.org" - "~/projects/chaim/papers/gwas_paper_2012/gwas_paper.org" - "~/projects/reviews/reviews.org" - "~/projects/fh/fh.org"))) + (quote ("~/projects/org-notes/debbugs.org" + "~/projects/org-notes/notes.org" + "~/projects/org-notes/refile.org" + "~/projects/org-notes/diary.org" + "~/projects/org-notes/ool.org" + "~/projects/org-notes/sndservers.org" + "~/projects/org-notes/chaim.org" + "~/projects/org-notes/wildman.org" + "~/projects/org-notes/uddin.org" + "~/projects/org-notes/reviews.org" + "~/projects/org-notes/fh.org"))) + +(set-register ?n (cons 'file "~/projects/org-notes/notes.org")) +(set-register ?r (cons 'file "~/projects/org-notes/refile.org")) +(set-register ?o (cons 'file "~/projects/org-notes/ool.org")) +(set-register ?s (cons 'file "~/projects/org-notes/sndservers.org")) +(set-register ?c (cons 'file "~/projects/org-notes/chaim.org")) +(set-register ?w (cons 'file "~/projects/org-notes/wildman.org")) +(set-register ?u (cons 'file "~/projects/org-notes/uddin.org")) +(set-register ?R (cons 'file "~/projects/reviews/reviews.org")) +(set-register ?d (cons 'file "~/projects/org-notes/diary.org")) (setq org-global-properties '(("Effort_ALL 0 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 7:00"))) (setq org-columns-default-format "%40ITEM(Task) %6Effort{:} %CLOCKSUM %PRIORITY %TODO %13SCHEDULED %13DEADLINE %TAGS") -(setq org-default-notes-file "~/projects/notes/notes.org") +(setq org-default-notes-file "~/projects/org-notes/notes.org") (setq org-capture-templates ;; mail-specific note template, identified by "m" - '(("m" "Mail" entry (file+headline "~/projects/notes/refile.org" "Mail") + '(("m" "Mail" entry (file+headline "~/projects/org-notes/refile.org" "Mail") "* %?\n\n Source: %u, %c\n %i") - ("t" "todo" entry (file "~/projects/notes/refile.org") + ("t" "todo" entry (file "~/projects/org-notes/refile.org") "* TODO %?\n%U\n%a\n" :clock-in t :clock-resume t) - ("r" "respond" entry (file "~/projects/notes/refile.org") + ("r" "respond" entry (file "~/projects/org-notes/refile.org") "* NEXT Respond to %:from on %:subject\nSCHEDULED: %t\n%U\n%a\n" :clock-in t :clock-resume t :immediate-finish t) - ("n" "note" entry (file "~/projects/notes/refile.org") + ("n" "note" entry (file "~/projects/org-notes/refile.org") "* %? :NOTE:\n%U\n%a\n" :clock-in t :clock-resume t) - ("s" "schedule" entry (file "~/projects/notes/refile.org") + ("s" "schedule" entry (file "~/projects/org-notes/refile.org") "* %? \n%^{scheduled:}t\n%U\n%a\n" :clock-in t :clock-resume t) - ("j" "Journal" entry (file+datetree "~/projects/notes/diary.org") + ("j" "Journal" entry (file+datetree "~/projects/org-notes/diary.org") "* %?\n%U\n" :clock-in t :clock-resume t) - ("w" "org-protocol" entry (file "~/projects/notes/refile.org") + ("w" "org-protocol" entry (file "~/projects/org-notes/refile.org") "* TODO Review %c\n%U\n" :immediate-finish t) - ("m" "Meeting" entry (file "~/projects/notes/refile.org") + ("M" "Meeting" entry (file "~/projects/org-notes/refile.org") "* MEETING with %? :MEETING:\n%U" :clock-in t :clock-resume t) - ("p" "Phone call" entry (file "~/projects/notes/refile.org") + ("S" "Seminar" entry (file "~/projects/org-notes/refile.org") + "* SEMINAR notes %? :SEMINAR:\n%U" :clock-in t :clock-resume t) + ("P" "Paper to read" entry (file+headline "~/projects/research/papers_to_read.org" "Refile") + "* TODO Get/Read %? \n%U" :clock-in t :clock-resume t) + ("p" "Phone call" entry (file "~/projects/org-notes/refile.org") "* PHONE %? :PHONE:\n%U" :clock-in t :clock-resume t) - ("J" "job" entry (file "~/projects/notes/refile.org") - "* TODO Apply for %a%? :job:\n%U\n" :clock-in t :clock-resume t) - ("h" "Habit" entry (file "~/projects/notes/refile.org") + ("J" "job" entry (file "~/projects/org-notes/refile.org") + "* TODO Apply for %a%? :job:\nSCHEDULED: %(format-time-string \"<%Y-%m-%d %a 17:00-17:30>\")\n%U\n" :clock-in t :clock-resume t) + ("h" "Habit" entry (file "~/projects/org-notes/refile.org") "* NEXT %?\n%U\n%a\nSCHEDULED: %(format-time-string \"<%Y-%m-%d %a .+1d/3d>\")\n:PROPERTIES:\n:STYLE: habit\n:REPEAT_TO_STATE: NEXT\n:END:\n") ) ) @@ -286,16 +301,16 @@ do not already have one." ; 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)) -; Use the current window when visiting files and buffers with ido -(setq ido-default-file-method 'selected-window) -(setq ido-default-buffer-method 'selected-window) -; Use the current window for indirect buffer display -(setq org-indirect-buffer-display 'current-window) +; ; 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)) +; ; Use the current window when visiting files and buffers with ido +; (setq ido-default-file-method 'selected-window) +; (setq ido-default-buffer-method 'selected-window) +; ; Use the current window for indirect buffer display +; (setq org-indirect-buffer-display 'current-window) ;;;; Refile settings @@ -363,7 +378,7 @@ Maildir, or by Message-ID." '((?b . "[[bib:%l][%l-bib]]") (?n . "[[notes:%l][%l-notes]]") (?c . "\\cite{%l}") - (?h . "*** %t\n:PROPERTIES:\n:Custom_ID: %l\n:END:\n[[papers:%l][%l paper]]"))) + (?h . "*** %t\n:PROPERTIES:\n:Custom_ID: %l\n:END:\n[[papers:%l][%l xoj]] [[papers-pdf:%l][pdf]]"))) )) (define-key org-mode-map (kbd "C-c )") 'reftex-citation) (define-key org-mode-map (kbd "C-c [") 'reftex-citation) @@ -383,6 +398,13 @@ Maildir, or by Message-ID." (format "%s %s" (substitute-in-file-name "$HOME/bin/bibtex_to_paper") bibtexkey))) (org-add-link-type "papers" 'open-research-paper) +(defun open-research-paper-pdf (bibtexkey) + "Open a paper pdf by bibtex key" + (interactive "bibtex key: ") + (shell-command + (format "%s -p evince %s" + (substitute-in-file-name "$HOME/bin/bibtex_to_paper") bibtexkey))) +(org-add-link-type "papers-pdf" 'open-research-paper-pdf) (add-to-list 'org-link-abbrev-alist '("notes" . @@ -410,6 +432,8 @@ Maildir, or by Message-ID." (setq-default org-mobile-directory "/rzlab.ucr.edu:/sites/dav.donarmstrong.com/root/org/") +(when (string= system-name "rzlab.ucr.edu") + (setq-default org-mobile-directory "/sites/dav.donarmstrong.com/root/org/")) (setq-default org-directory "/home/don/org-mode/") (setq-default org-mobile-inbox-for-pull "/home/don/org-mode/from-mobile.org") @@ -435,28 +459,28 @@ Maildir, or by Message-ID." -;; org latex -;; stolen from http://kieranhealy.org/esk/kjhealy.html -(require 'org-latex) -;; Choose either listings or minted for exporting source code blocks. -;; Using minted (as here) requires pygments be installed. To use the -;; default listings package instead, use -;; (setq org-latex-listings t) -;; and change references to "minted" below to "listings" -; (setq org-latex-listings 'minted) - -;; default settings for minted code blocks -(setq org-latex-minted-options - '(;("frame" "single") - ("bgcolor" "bg") ; bg will need to be defined in the preamble of your document. It's defined in org-preamble-pdflatex.sty and org-preamble-xelatex.sty below. - ("fontsize" "\\small") - )) -;; turn off the default toc behavior; deal with it properly in headers to files. -(defun org-latex-no-toc (depth) - (when depth - (format "%% Org-mode is exporting headings to %s levels.\n" - depth))) -(setq org-latex-format-toc-function 'org-latex-no-toc) +;; ;; org latex +;; ;; stolen from http://kieranhealy.org/esk/kjhealy.html +;; (require 'org-latex) +;; ;; Choose either listings or minted for exporting source code blocks. +;; ;; Using minted (as here) requires pygments be installed. To use the +;; ;; default listings package instead, use +;; ;; (setq org-latex-listings t) +;; ;; and change references to "minted" below to "listings" +;; ; (setq org-latex-listings 'minted) +;; +;; ;; default settings for minted code blocks +;; (setq org-latex-minted-options +;; '(;("frame" "single") +;; ("bgcolor" "bg") ; bg will need to be defined in the preamble of your document. It's defined in org-preamble-pdflatex.sty and org-preamble-xelatex.sty below. +;; ("fontsize" "\\small") +;; )) +;; ;; turn off the default toc behavior; deal with it properly in headers to files. +;; (defun org-latex-no-toc (depth) +;; (when depth +;; (format "%% Org-mode is exporting headings to %s levels.\n" +;; depth))) +;; (setq org-latex-format-toc-function 'org-latex-no-toc) (require 'ox-latex) (add-to-list 'org-latex-classes @@ -468,6 +492,8 @@ Maildir, or by Message-ID." ("\\paragraph{%s}" . "\\paragraph*{%s}") ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))) +(setq org-beamer-outline-frame-options "") +(require 'ox-beamer) (add-to-list 'org-latex-classes '("beamer" "\\documentclass[ignorenonframetext]{beamer} @@ -934,3 +960,27 @@ A prefix arg forces clock in of the default task." (org-with-point-at clock-in-to-task (org-clock-in nil)))) + +; allow for zero-width-space to be a break in regexp too +(setcar org-emphasis-regexp-components "​ [:space:] \t('\"{") +(setcar (nthcdr 1 org-emphasis-regexp-components) "​ [:space:]- \t.,:!?;'\")}\\") +(org-set-emph-re 'org-emphasis-regexp-components org-emphasis-regexp-components) + +;; support inserting screen shots +(defun my/org-insert-screenshot () + "Take a screenshot into a time stamped unique-named file in the +same directory as the org-buffer and insert a link to this file." + (interactive) + (defvar filename) + (setq filename + (read-file-name + "Screenshot to insert: " + nil + (concat (buffer-file-name) "_" (format-time-string "%Y%m%d_%H%M%S") ".png") + nil + nil + ) + ) + (call-process "import" nil nil nil filename) + (insert (concat "[[" filename "]]")) + (org-display-inline-images))