Commit a57e9d5a706a
Changed files (1)
dots
config
emacs
dots/config/emacs/init.el
@@ -1762,7 +1762,7 @@ minibuffer, even without explicitly focusing it."
(org-agenda-window-setup 'current-window)
(org-agenda-sticky t)
(org-agenda-sorting-strategy
- '((agenda time-up deadline-up scheduled-up todo-state-up priority-down)
+ '((agenda deadline-up scheduled-up time-up todo-state-up priority-down)
(todo todo-state-up priority-down deadline-up)
(tags todo-state-up priority-down deadline-up)
(search todo-state-up priority-down deadline-up)))
@@ -1796,7 +1796,7 @@ minibuffer, even without explicitly focusing it."
((org-agenda-overriding-header "๐ด High Priority")))
(agenda ""
((org-agenda-span 'day)
- (org-deadline-warning-days 5)
+ (org-deadline-warning-days 30)
(org-agenda-overriding-header "๐
Schedule & Deadlines")))
(todo "NEXT"
((org-agenda-overriding-header "โก๏ธ Focus (NEXT)")))))
@@ -1875,12 +1875,14 @@ minibuffer, even without explicitly focusing it."
("bike" ,(list (propertize "๐ดโโ๏ธ")))
("security" ,(list (propertize "๐ก๏ธ")))
("i*" ,(list (propertize "๐")))))
- (org-agenda-prefix-format '((agenda . " %i %?-12t% s") ;; " %i %-12:c%?-12t%s%(my/org-agenda-repeater)"
+ (org-agenda-prefix-format '((agenda . " %i %?-12t%s%(my/org-agenda-repeater)")
(todo . " %i")
(tags . " %i")
(search . " %i")))
- ;; (org-agenda-scheduled-leaders '("Sched." "S.%2dx"))
- ;; (org-agenda-deadline-leaders '("Deadl." "In%2dd" "D.%2dx"))
+ ;; Shorten scheduled leaders to free space for the repeater; give
+ ;; deadlines their own โณ glyph (๐ด stays reserved for priority).
+ (org-agenda-scheduled-leaders '("Sched " "S.%2dx "))
+ (org-agenda-deadline-leaders '("โณ 0d " "โณ%2dd " "โณ-%1dd "))
(org-insert-heading-respect-content t)
(org-M-RET-may-split-line '((default . nil)))
(org-goto-interface 'outline-path-completion)
@@ -1925,13 +1927,18 @@ Works with any org link type. Creates a new tab, then opens the link."
(tab-bar-new-tab)
(org-open-at-point))))
- (declare-function org-before-first-heading-p "org")
(declare-function org-get-repeat "org")
(defun my/org-agenda-repeater ()
- "Return the repeater string for the current agenda entry."
- (if (org-before-first-heading-p)
- "-------" ; Align with the time grid
- (format "%5s: " (or (org-get-repeat) ""))))
+ "Return the repeat cookie (e.g. \"++1w\") for the current agenda entry.
+Evaluated by `org-agenda-format-item': for real items point sits on the
+heading in the source Org buffer; for grid lines it runs in the agenda
+buffer. Show the repeater (so recurring tasks are visually distinct)
+only when present, and never call `org-element-at-point' outside an Org
+buffer."
+ (if (derived-mode-p 'org-mode)
+ (let ((rep (org-get-repeat)))
+ (if rep (format "%-5s " rep) ""))
+ ""))
(require 'dash)
(require 's)