142 lines
5.2 KiB
EmacsLisp
142 lines
5.2 KiB
EmacsLisp
;;; package --- summary +org.el
|
|
;;; lexical-binding: t; -*-
|
|
|
|
;;; Commentary:
|
|
;;; Code:
|
|
(setq +todo-file "~/org/inbox.org")
|
|
(setq +today-file "~/org/today.org")
|
|
|
|
(after! org
|
|
(setq org-directory (expand-file-name "~/org/")
|
|
org-journal-dir "~/org/journal/"
|
|
org-agenda-files (list org-directory)
|
|
org-agenda-window-setup 'only-window
|
|
org-pretty-entities t
|
|
org-log-done 'time
|
|
org-contacts-files '("~/org/contacts.org")
|
|
; attempt to return todo function to spacemacs
|
|
evil-org-key-theme '(textobjects navigation additional insert todo)
|
|
;; show actually italicized text instead of /italicized text/
|
|
org-agenda-block-separator ""
|
|
org-fontify-whole-heading-line t
|
|
org-fontify-done-headline t
|
|
org-fontify-quote-and-verse-blocks t
|
|
org-bullets-bullet-list '("#")
|
|
org-capture-templates
|
|
'(("i" "Send to inbox" entry (file+headline "~/org/inbox.org" "Inbox")
|
|
"* TODO %?\n")
|
|
("l" "Send to inbox with link" entry (file+headline "~/org/inbox.org" "Inbox")
|
|
"* TODO %?\n %i\n %a")
|
|
("w" "Work diary entry" entry (file "~/org/work_diary.org")
|
|
"* %u\n%?\n")
|
|
("n" "Add an idea" entry (file "~/org/ideas.org")
|
|
"* %?\nEntered on %U\n"))
|
|
|
|
org-todo-keywords
|
|
'((sequence "TODO(t)" "NEXT(n)" "WAITING(w)" "MAYBE(m)" "|" "DONE(d)"))
|
|
|
|
org-todo-keyword-faces
|
|
'((("TODO" . (:foreground "red" :weight bold))
|
|
("NEXT" . (:foreground "blue"))
|
|
("MAYBE" . (:foreground "sea green"))
|
|
("WAITING" . (:foreground "forest green")))
|
|
("DONE" . (:foreground "light sea green")))
|
|
|
|
org-agenda-span 5
|
|
org-agenda-start-day "1d"
|
|
|
|
org-agenda-custom-commands
|
|
'(("N" "List all next tasks" ((agenda "" ((org-agenda-span 1)))
|
|
(tags "@errand/-DONE") ; should generaly be pretty empty
|
|
(tags "@book/NEXT") ; should generaly be pretty empty
|
|
(tags "@work/NEXT")
|
|
(tags "@home/NEXT")
|
|
(tags "@night/NEXT")
|
|
(tags "@selectp/NEXT")))
|
|
("R" "Weekly Review"
|
|
((agenda "" ((org-agenda-span 7)))
|
|
(stuck "") ; review stuck projects as designated by org-stuck-projects
|
|
(tags "PROJECT/-DONE-MAYBE") ; review all projects
|
|
(todo "MAYBE") ; review someday/maybe items
|
|
(todo "WAITING")))) ; review waiting items
|
|
|
|
org-use-tag-inheritance t; bug in variable below, just turn 'em off
|
|
org-tags-exclude-from-injeritance '("PROJECT" "SPRINT") ; PROJECT should not be inheritable
|
|
|
|
org-stuck-projects
|
|
'("+PROJECT/-MAYBE-DONE" ("TODO" "NEXT") nil "\\<IGNORE\\>")
|
|
|
|
org-tag-alist '(("PROJECT" . ?p)
|
|
("@home" . ?h)
|
|
("@night" . ?n)
|
|
("@selectp" . ?s)
|
|
("@errand" . ?e)
|
|
("@read" . ?r)
|
|
("@work" . ?w)
|
|
("@family" . ?f))
|
|
|
|
org-modules '(org-drill
|
|
org-clock
|
|
org-id
|
|
org-info
|
|
org-habit
|
|
org-protocol
|
|
org-annotate-file
|
|
org-eval
|
|
org-expiry
|
|
org-contacts
|
|
org-man
|
|
org-notmuch
|
|
org-collector
|
|
org-panel
|
|
org-screen
|
|
org-toc)
|
|
|
|
; refile targets
|
|
org-refile-targets '(("~/org/todo.org" :maxlevel . 2)
|
|
("~/org/someday.org" :maxlevel . 2)
|
|
("~/org/town.org" :maxlevel . 2)
|
|
("~/org/personal.org" :maxlevel . 2)
|
|
("~/org/elation.org" :maxlevel . 2))))
|
|
;; org-match-sparse-tree
|
|
;;
|
|
;; org-set-tags-command
|
|
(defun +open-todo-file ()
|
|
(interactive)
|
|
"Opens the todo file"
|
|
(find-file +todo-file))
|
|
(defun +open-today-file ()
|
|
(interactive)
|
|
"Opens the today file"
|
|
(find-file +today-file))
|
|
|
|
(map!
|
|
:leader
|
|
:desc "Open inbox" "I" #'+open-todo-file
|
|
:desc "Open today" "T" #'+open-today-file)
|
|
|
|
(defun +show-agenda ()
|
|
(interactive)
|
|
(delete-other-windows)
|
|
(with-popup-rules! nil
|
|
(org-agenda-list)
|
|
(calendar))
|
|
(other-window 1)
|
|
(split-window-vertically)
|
|
(other-window 1)
|
|
(find-file +todo-file))
|
|
|
|
|
|
(map! :leader
|
|
(:prefix "a"
|
|
:desc "Org Agenda" "o" #'org-agenda
|
|
:desc "Org open link" "l" #'org-open-at-point
|
|
:desc "Sync gcal with org" "g" #'org-gcal-sync
|
|
:desc "Set task deadline" "d" #'org-deadline
|
|
:desc "Schedule task" "s" #'org-schedule
|
|
:desc "New journal entry" "j" #'org-journal-new-entry
|
|
:desc "Org set property" "p" #'org-set-progerty
|
|
:desc "Save all org buffers" "a" #'org-save-all-org-buffers
|
|
:desc "Org todo" "t" #'org-todo
|
|
:desc "Org set tags" "T" #'counsel-org-tag))
|