commit 59a3fd60bd0f4f6c9991184d267b5c2e7a583ffb
parent 02bde1d8edad4b010e70aab4dffeaec964b71300
Author: Alex Balgavy <alex@balgavy.eu>
Date: Wed, 26 Jan 2022 12:33:29 +0100
emacs: some renaming
Diffstat:
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/emacs/config.org b/emacs/config.org
@@ -832,6 +832,12 @@ Where I want to be able to move subtrees (doesn't include inbox because I never
(,org-life-reference :maxlevel . 2)))
#+end_src
+I want to archive to a specific file, in a date tree:
+
+#+begin_src emacs-lisp
+ (setq org-archive-location (concat org-life-archive "::datetree/"))
+#+end_src
+
Include the destination file as an element in the path to a heading, and to use the full paths as completion targets rather than just the heading text itself:
#+begin_src emacs-lisp
@@ -850,11 +856,6 @@ Allow me to tack new heading names onto the end of my outline path, and if I am
(setq org-refile-allow-creating-parent-nodes 'confirm)
#+end_src
-I want to archive to a specific file, in a date tree:
-
-#+begin_src emacs-lisp
- (setq org-archive-location (concat org-life-archive "::datetree/"))
-#+end_src
*** Quick capture
Quick capture lets me send something to my inbox very quickly, without thinking about where it should go.
@@ -890,7 +891,7 @@ In ~org-todo-keywords~, ~@~ means note+timestamp, ~!~ means timestamp, ~@/!~ mea
I decided that projects will not be TODO items, but their progress will be tracked with a progress cookie ([x/y]). This function converts an item to a project: it adds a PROJECT tag, sets the progress indicator to count all checkboxes in sub-items (only TODO items), and removes any existing TODO keywords. Finally, PROJECT tags shouldn't be inherited (i.e. subtasks shouldn't be marked as projects).
#+begin_src emacs-lisp
- (defun my-mark-as-project ()
+ (defun za/mark-as-project ()
"This function makes sure that the current heading has
(1) the tag PROJECT
(2) the property COOKIE_DATA set to \"todo recursive\"
@@ -915,7 +916,7 @@ Define a function to skip items if they're part of a project (i.e. one of their
The problem is, the "PROJECT" tag isn't inherited. So, we temporarily disable excluding from inheritance, just for the ~org-get-tags~ call. Then check if "PROJECT" is one of the tags.
#+begin_src emacs-lisp
- (defun my-skip-if-in-project ()
+ (defun za/skip-if-in-project ()
"Skip items that are part of a project"
(let ((subtree-end (save-excursion (org-end-of-subtree t)))
(item-tags (let ((org-tags-exclude-from-inheritance nil)) (org-get-tags))))
@@ -928,7 +929,7 @@ The problem is, the "PROJECT" tag isn't inherited. So, we temporarily disable ex
Also, define a function to skip tasks (trees) that are not habits (i.e. don't have the STYLE property ~habit~):
#+begin_src emacs-lisp
- (defun my-skip-unless-habit ()
+ (defun za/skip-unless-habit ()
"Skip trees that are not habits"
(let ((subtree-end (save-excursion (org-end-of-subtree t))))
(if (string= (org-entry-get nil "STYLE") "habit")
@@ -939,7 +940,7 @@ Also, define a function to skip tasks (trees) that are not habits (i.e. don't ha
And another function, to skip tasks that are blocked:
#+begin_src emacs-lisp
- (defun my-skip-if-blocked ()
+ (defun za/skip-if-blocked ()
"Skip trees that are blocked by previous tasks"
(let ((subtree-end (save-excursion (org-end-of-subtree t))))
(if (org-entry-blocked-p)
@@ -973,7 +974,7 @@ The first two strings are what shows up in the agenda dispatcher (the key to pre
(agenda "" ((org-agenda-overriding-header "Habits:")
(org-agenda-span 'day)
(org-agenda-use-time-grid nil)
- (org-agenda-skip-function 'my-skip-unless-habit)
+ (org-agenda-skip-function 'za/skip-unless-habit)
(org-habit-show-habits t) (org-habit-show-habits-only-for-today nil)
(org-habit-show-all-today t)))
(todo "NEXT" ((org-agenda-overriding-header "Next actions:")))))
@@ -985,7 +986,7 @@ The first two strings are what shows up in the agenda dispatcher (the key to pre
("f" "Finished tasks that aren't in a project"
((tags "TODO=\"DONE\"" ((org-agenda-overriding-header "Finished tasks:")
- (org-agenda-skip-function 'my-skip-if-in-project)))))))
+ (org-agenda-skip-function 'za/skip-if-in-project)))))))
#+end_src
@@ -1040,7 +1041,7 @@ I might also want to set ~org-enforce-todo-checkbox-dependencies~, but not convi
Time tracking should be done in its own drawer:
#+begin_src emacs-lisp
- (setq org-clock-into-drawer "CLOCKING")
+ (setq org-clock-into-drawer "CLOCK")
#+end_src
I want to set effort in hours:minutes:
@@ -1062,7 +1063,7 @@ I want column view to look like this:
*** Calculate time since timestamp
#+begin_src emacs-lisp
- (defun my-org-time-since ()
+ (defun za/org-time-since ()
"Print the amount of time between the timestamp at point and the current date and time."
(interactive)
(unless (org-at-timestamp-p 'lax)