play around with org-ql

This commit is contained in:
Tyler Starr 2021-01-13 23:27:35 -08:00
parent af645657c5
commit 79c0a81a2b
3 changed files with 87 additions and 5 deletions

View File

@ -17,6 +17,14 @@
(sequence "WAITING(w@/!)" "HOLD(h@/!)" "|" (sequence "WAITING(w@/!)" "HOLD(h@/!)" "|"
"CANCELLED(c@/!)")))) "CANCELLED(c@/!)"))))
(setq org-todo-keyword-faces
(quote (("TODO" :foreground "red" :weight bold)
("NEXT" :foreground "blue" :weight bold)
("DONE" :foreground "forest green" :weight bold)
("WAITING" :foreground "orange" :weight bold)
("HOLD" :foreground "magenta" :weight bold)
("CANCELLED" :foreground "forest green" :weight bold))))
(setq org-tag-alist (setq org-tag-alist
'((:startgroup) '((:startgroup)
; Put mutually exclusive tags here ; Put mutually exclusive tags here
@ -94,6 +102,15 @@
(advice-add 'org-refile :after 'org-save-all-org-buffers) (advice-add 'org-refile :after 'org-save-all-org-buffers)
; Open a view with need buffers for planning!
(defun ts/replace-with-agenda-collection ()
(interactive)
(org-agenda nil "t")
(delete-other-windows)
(get-buffer "*Org Agenda*")
(org-ql-view "Week Overview")
(org-ql-view-sidebar))
(setq org-agenda-start-day "0d") (setq org-agenda-start-day "0d")
(setq org-agenda-custom-commands (setq org-agenda-custom-commands
@ -104,7 +121,25 @@
(setq org-super-agenda-header-map (make-sparse-keymap)) (setq org-super-agenda-header-map (make-sparse-keymap))
(setq org-ql-views (setq org-ql-views
(list (cons "Week Overview" (list (cons "Weekly Agenda"
(lambda ()
"Open agenda for week."
(interactive)
(org-agenda nil "t")))
(cons "Tasks to Refile"
(lambda ()
"Find tasks to refile."
(interactive)
(org-ql-search (list org-capture-todo org-capture-note)
'(or (not (done))
(done))
:title "Tasks to Refile"
:sort '(date priority todo)
:super-groups '((:name "Todos"
:not (:tag "note"))
(:name "Notes"
:tag "note")))))
(cons "Weeks Progress"
(lambda () (lambda ()
"launch an agenda-like view at the specified date." "launch an agenda-like view at the specified date."
(interactive) (interactive)
@ -128,7 +163,15 @@
:deadline today) :deadline today)
(:name "Coming Up" (:name "Coming Up"
:scheduled future :scheduled future
:deadline future)))))))) :deadline future))))))
))
(after! org-agenda (after! org-agenda
(org-super-agenda-mode))) ; Close the after! org expression from (org-super-agenda-mode))) ; Close the after! org expression from

View File

@ -20,3 +20,5 @@
;; This determines the style of line numbers in effect. If set to `nil', line ;; This determines the style of line numbers in effect. If set to `nil', line
;; numbers are disabled. For relative line numbers, set this to `relative'. ;; numbers are disabled. For relative line numbers, set this to `relative'.
(setq display-line-numbers-type t) (setq display-line-numbers-type t)
(which-key-mode)

View File

@ -372,6 +372,8 @@ Load modules with external configs.
;; numbers are disabled. For relative line numbers, set this to `relative'. ;; numbers are disabled. For relative line numbers, set this to `relative'.
(setq display-line-numbers-type t) (setq display-line-numbers-type t)
(which-key-mode)
#+end_src #+end_src
* [+org.el] * [+org.el]
@ -425,6 +427,14 @@ Define the org todo keywords we'll use.
(sequence "WAITING(w@/!)" "HOLD(h@/!)" "|" (sequence "WAITING(w@/!)" "HOLD(h@/!)" "|"
"CANCELLED(c@/!)")))) "CANCELLED(c@/!)"))))
(setq org-todo-keyword-faces
(quote (("TODO" :foreground "red" :weight bold)
("NEXT" :foreground "blue" :weight bold)
("DONE" :foreground "forest green" :weight bold)
("WAITING" :foreground "orange" :weight bold)
("HOLD" :foreground "magenta" :weight bold)
("CANCELLED" :foreground "forest green" :weight bold))))
#+end_src #+end_src
** Tags ** Tags
@ -455,6 +465,7 @@ Define the different files that are used for capture. Currently, I use inbox.org
(setq org-capture-todo (concat org-directory "gtd/capture/inbox.org")) (setq org-capture-todo (concat org-directory "gtd/capture/inbox.org"))
(setq org-capture-note (concat org-directory "gtd/capture/note.org")) (setq org-capture-note (concat org-directory "gtd/capture/note.org"))
#+end_src #+end_src
*** Capture Templates *** Capture Templates
@ -544,7 +555,7 @@ Currenlty I prefer to used vanilla Org-Agenda to view currently scheduled agenda
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "+gtd.el" "no") #+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "+gtd.el" "no")
; Open a view with need buffers for planning! ; Open a view with need buffers for planning!
(defun ts/open-user-agenda () (defun ts/replace-with-agenda-collection ()
(interactive) (interactive)
(org-agenda nil "t") (org-agenda nil "t")
(delete-other-windows) (delete-other-windows)
@ -568,7 +579,25 @@ Setup those afformentioned fancy sorting setups!
(setq org-super-agenda-header-map (make-sparse-keymap)) (setq org-super-agenda-header-map (make-sparse-keymap))
(setq org-ql-views (setq org-ql-views
(list (cons "Week Overview" (list (cons "Weekly Agenda"
(lambda ()
"Open agenda for week."
(interactive)
(org-agenda nil "t")))
(cons "Tasks to Refile"
(lambda ()
"Find tasks to refile."
(interactive)
(org-ql-search (list org-capture-todo org-capture-note)
'(or (not (done))
(done))
:title "Tasks to Refile"
:sort '(date priority todo)
:super-groups '((:name "Todos"
:not (:tag "note"))
(:name "Notes"
:tag "note")))))
(cons "Weeks Progress"
(lambda () (lambda ()
"launch an agenda-like view at the specified date." "launch an agenda-like view at the specified date."
(interactive) (interactive)
@ -592,7 +621,15 @@ Setup those afformentioned fancy sorting setups!
:deadline today) :deadline today)
(:name "Coming Up" (:name "Coming Up"
:scheduled future :scheduled future
:deadline future)))))))) :deadline future))))))
))
(after! org-agenda (after! org-agenda
(org-super-agenda-mode))) ; Close the after! org expression from (org-super-agenda-mode))) ; Close the after! org expression from