Jelajahi Sumber

Fix emacs to load org on demand #emacs

Colin Powell 6 tahun lalu
induk
melakukan
79a399dbbb
2 mengubah file dengan 99 tambahan dan 72 penghapusan
  1. 99 70
      emacs/.config/doom/+org.el
  2. 0 2
      emacs/.config/doom/config.el

+ 99 - 70
emacs/.config/doom/+org.el

@@ -5,74 +5,103 @@
 ;;; Code:
 ;;; Code:
 (setq +todo-file "~/org/inbox.org")
 (setq +todo-file "~/org/inbox.org")
 
 
-(setq org-directory (expand-file-name "~/org/")
-      org-journal-dir "~/org/journal/"
-      org-startup-indented t
-      org-agenda-files (list org-directory)
-      org-pretty-entities t
-      org-hide-emphasis-markers t
-      org-hide-leading-stars t
-      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-log-done 'time
-      org-bullets-face-name (quote org-bullet-face)
-      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-agenda-include-diary nil
-
-      org-agenda-custom-commands
-          '(("h" todo "HOLD")
-          ("d" "Agenda + Next Actions" ((agenda) (todo "NEXT"))))
-
-      org-tag-alist '(("@home" . ?h)
-                      ("@townhall" . ?t)
-                      ("@farm" . ?f)
-                      ("@errand" . ?e)
-                      ("@read" . ?r)
-                      ("@next" . ?n)
-                      ("@computer" . ?c))
-
-      org-modules '(org-drill
-                      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)))
+(add-hook! :append org-load
+    (setq org-directory (expand-file-name "~/org/")
+          org-journal-dir "~/org/journal/"
+          org-startup-indented t
+          org-agenda-files (list org-directory)
+          org-pretty-entities t
+          org-hide-emphasis-markers t
+          org-hide-leading-stars t
+          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-log-done 'time
+          org-bullets-face-name (quote org-bullet-face)
+          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-agenda-include-diary nil
+
+          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 "@home/NEXT")
+                                            (tags "@work/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 nil ; bug in variable below, just turn 'em off
+          org-tags-exclude-from-inheritance '("PROJECT" "SPRINT") ; PROJECT should not be inheritable
+
+          org-stuck-projects
+            '("+PROJECT/-MAYBE-DONE" ("TODO" "NEXT") nil "\\<IGNORE\\>")
+
+          org-tag-alist '(("PROJECT" . ?p)
+                          ("@home" . ?h)
+                          ("@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-match-sparse-tree
+;;
 ;; org-set-tags-command
 ;; org-set-tags-command
 (defun +open-todo-file ()
 (defun +open-todo-file ()
   (interactive)
   (interactive)
@@ -81,7 +110,7 @@
 
 
 (map!
 (map!
  :leader
  :leader
-   :desc "Open todo file" "O" #'+open-todo-file)
+   :desc "Open inbox" "I" #'+open-todo-file)
 
 
 (defun +show-agenda ()
 (defun +show-agenda ()
   (interactive)
   (interactive)
@@ -97,7 +126,7 @@
 
 
 (map! :leader
 (map! :leader
       (:prefix "o"
       (:prefix "o"
-        :desc "Org Agenda" "a" #'org-agenda-list
+        :desc "Org Agenda" "A" #'org-agenda-list
+        :desc "Org Agenda" "a" #'org-agenda
         :desc "Org open link" "l" #'org-open-at-point
         :desc "Org open link" "l" #'org-open-at-point
-        :desc "Org set tags" "t" #'org-set-tags-command
-        :desc "Org Agenda and Notes" "A" #'+show-agenda))
+        :desc "Org set tags" "t" #'org-set-tags-command))

+ 0 - 2
emacs/.config/doom/config.el

@@ -22,8 +22,6 @@
 (add-to-list 'default-frame-alist '(ns-appearance . dark))
 (add-to-list 'default-frame-alist '(ns-appearance . dark))
 ;(add-hook 'window-setup-hook 'toggle-frame-maximized)
 ;(add-hook 'window-setup-hook 'toggle-frame-maximized)
 
 
-(setq org-todo-keywords '((sequence "TODO(t)" "|" "DONE(d)")))
-;;
 ;; Keybindings
 ;; Keybindings
 
 
 (map!
 (map!