summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Parri <simonparri@ganzeria.com>2025-06-20 11:59:22 -0500
committerSimon Parri <simonparri@ganzeria.com>2025-06-20 16:22:42 -0500
commit0bbc0988e0e289549d65edbc47931c608cc4ae9b (patch)
tree520fd6ae317e163b1df204435f12b2039a8db745
parent01187a6f48f949d9cfc42c228b93c5736676acdf (diff)
downloadorg-urgency-0bbc0988e0e289549d65edbc47931c608cc4ae9b.tar.gz
org-urgency-0bbc0988e0e289549d65edbc47931c608cc4ae9b.zip
Add random, near-deadline? and scheduled-today?
-rw-r--r--org-urgency.el21
1 files changed, 21 insertions, 0 deletions
diff --git a/org-urgency.el b/org-urgency.el
index 85c0bec..2e0fd53 100644
--- a/org-urgency.el
+++ b/org-urgency.el
@@ -123,10 +123,26 @@ total urgency, or nil."
(when (org-get-scheduled-time (get 'org-marker))
n))
+(org-urgency-define scheduled-today? ()
+ (when-let ((scheduled (org-get-scheduled-time (get 'org-marker)))
+ (today? (= (time-to-days scheduled)
+ (org-today))))
+ n))
+
(org-urgency-define deadline? ()
(when (org-get-deadline-time (get 'org-marker))
n))
+(org-urgency-define near-deadline ()
+ (when-let* ((deadline (org-get-deadline-time (get 'org-marker)))
+ (remaining (float-time
+ (time-subtract
+ deadline (org-current-time))))
+ (remaining (max remaining 0))
+ (maximum (* org-deadline-warning-days 24 60 60))
+ (coeff (- maximum remaining)))
+ (* n coeff)))
+
(org-urgency-define tag? (tag)
(when (member tag (get 'tags))
n))
@@ -143,6 +159,11 @@ total urgency, or nil."
(org-urgency-define effort ()
(* (or (get 'effort-minutes) 60.0) n))
+(org-urgency-define random ()
+ (random (concat (format-time-string "%Y %m %d %A ") h))
+ (prog1 (random n)
+ (random t)))
+
;;;###autoload
(defun org-urgency-list (list)
"Process LIST to make it a suitable value for `org-urgency-functions'.