summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Cunningham <cc@localhost>2024-06-14 17:41:54 -0700
committerChristian Cunningham <cc@localhost>2024-06-14 17:41:54 -0700
commit2c8e68bdd7515088a7195207f50713e23d3326e8 (patch)
tree4d8ba960f13ec9f5d644411897b356d654942d09
parentde402fd96b6dabe1885361b1e1e2723b63c4bb00 (diff)
Generalize Todo Columns
-rw-r--r--elchemy-dashboard.el27
1 files changed, 14 insertions, 13 deletions
diff --git a/elchemy-dashboard.el b/elchemy-dashboard.el
index 5177e4c..8f999bc 100644
--- a/elchemy-dashboard.el
+++ b/elchemy-dashboard.el
@@ -32,25 +32,26 @@
(ignore-errors
(setq agenda-items (mapcar #'(lambda (x) (elchemy/get-agenda-items x 3)) elchemy/dashboard-agenda-titles)
agenda-max-count (apply 'max (mapcar #'(lambda (x) (length x)) agenda-items))
- agenda-max-length (apply 'max (mapcar #'(lambda (x) (apply 'max (mapcar #'(lambda (y) (length y)) x))) agenda-items)))
+ agenda-max-length (apply 'max (mapcar #'(lambda (x) (apply 'max (mapcar #'(lambda (y) (length y)) x))) agenda-items))
+ agenda-heading-format-string "")
(let ((start (point)))
(insert "Agenda")
(add-text-properties start (point)
`(face (:height ,elchemy/dashboard/subheader-size))))
(insert "\n")
- (insert (apply 'format (concat "%-" (format "%d" (+ agenda-max-length elchemy/dashboard/agenda-padding)) "s" "%-" (format "%d" (+ agenda-max-length elchemy/dashboard/agenda-padding)) "s" "%s\n") elchemy/dashboard-agenda-titles))
+ (dotimes (_ (- (length elchemy/dashboard-agenda-titles) 1))
+ (setq agenda-heading-format-string (concat agenda-heading-format-string "%-" (format "%d" (+ agenda-max-length elchemy/dashboard/agenda-padding)) "s")))
+ (setq agenda-heading-format-string (concat agenda-heading-format-string "%s\n"))
+ (insert (apply 'format agenda-heading-format-string elchemy/dashboard-agenda-titles))
(dotimes (i agenda-max-count)
- (insert (format
- (concat "%-" (format "%d" (+ agenda-max-length elchemy/dashboard/agenda-padding)) "s")
- (elchemy/replace-nil (nth i (nth 0 agenda-items)))))
- (insert (format
- (concat "%-" (format "%d" (+ agenda-max-length elchemy/dashboard/agenda-padding)) "s")
- (elchemy/replace-nil (nth i (nth 1 agenda-items)))))
- (insert (format
- "%s"
- (elchemy/replace-nil (nth i (nth 2 agenda-items)))))
- (insert "\n")
- )
+ (dotimes (c (length elchemy/dashboard-agenda-titles))
+ (if (eq (% (+ c 1) (length elchemy/dashboard-agenda-titles)) 0)
+ (insert (format "%s\n"
+ (elchemy/replace-nil (nth i (nth c agenda-items)))))
+ (insert (format
+ (concat "%-" (format "%d" (+ agenda-max-length elchemy/dashboard/agenda-padding)) "s")
+ (elchemy/replace-nil (nth i (nth c agenda-items)))))
+ )))
(insert "\n")
(let ((start (point)))
(insert "Overdue")