Commit Diff


commit - 51d81f1bb404513593f9196b820658dcff970ccf
commit + f500dcc20d9e88358559f3fe5adb649c3dbd8ed6
blob - 9c0c469c26143c580437d3dc49aa2883d12112d8
blob + 9f6c36495d33e6b35f7d2155742ff00895b94143
--- doom/config.el
+++ doom/config.el
@@ -216,6 +216,38 @@
                  :prepend t
                  :empty-lines 1)))
 
+;; org-timeblock — visual day/week grid of SCHEDULED org entries.
+;; M-x org-timeblock          (multi-day grid view)
+(use-package! org-timeblock
+  :after org
+  :config
+  (setq org-timeblock-span 7              ; show a full week
+        org-timeblock-scale-options '(6 . 22)  ; 6am–10pm
+        org-timeblock-display-time t
+        org-timeblock-current-time-indicator t
+        org-timeblock-show-future-repeats t  ; expand +1w repeaters
+        org-timeblock-tag-colors
+        '(("itm"      . org-timeblock-blue)
+          ("apc"      . org-timeblock-magenta)
+          ("personal" . org-timeblock-green)))
+
+  (defun +org-timeblock-anchor-to-sunday ()
+    "Start the org-timeblock view at Sunday of the current week."
+    (let* ((today (decode-time))
+           (dow (decoded-time-weekday today)) ; 0=Sun … 6=Sat
+           (sunday (org-timeblock-time-inc 'day (- dow) today)))
+      (setq org-timeblock-daterange
+            (cons sunday
+                  (org-timeblock-time-inc 'day (1- org-timeblock-span) sunday)))
+      (org-timeblock-redisplay)))
+  (add-hook 'org-timeblock-mode-hook #'+org-timeblock-anchor-to-sunday)
+
+  (map! :map org-timeblock-mode-map
+        :nm "r" #'org-timeblock-redraw-buffers))
+
+(map! :leader
+      :desc "Org timeblock"      "o t" #'org-timeblock)
+
 ;; Open treemacs when you open a project
 (after! treemacs
   (treemacs-follow-mode 1)
blob - 5c138ac41617de7290fb1f218e2cd00d4f56bba2
blob + 96433580a3370f72c1ef163a03b43c0b1d6d24d2
--- doom/packages.el
+++ doom/packages.el
@@ -52,5 +52,6 @@
 (package! fountain-mode)
 (package! olivetti)
 (package! org-caldav)
+(package! org-timeblock)
 (package! khalel)
 (package! catppuccin-theme)