From 8ddcf1de22b3ec9700dd8cc4327140fbea4301f9 Mon Sep 17 00:00:00 2001 From: Thierry Pouplier Date: Sat, 7 Mar 2026 18:33:12 -0500 Subject: [PATCH] Various emacs config uddates --- doom/.config/doom/README.org | 46 ++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/doom/.config/doom/README.org b/doom/.config/doom/README.org index 0e92315..d601248 100644 --- a/doom/.config/doom/README.org +++ b/doom/.config/doom/README.org @@ -466,7 +466,7 @@ change ~org-directory~. It must be set before org loads! ) ("wP" "Installation Bombardier" ((agenda "" - ((org-agenda-span 60) + ((org-agenda-span 90) (org-agenda-start-day "2026-01-29") (org-agenda-overriding-header "📅 Installation Bombardier") (org-agenda-prefix-format " %12t") ;; reserve time space @@ -539,6 +539,14 @@ change ~org-directory~. It must be set before org loads! ) ) #+end_src +** Default apps +#+begin_src emacs-lisp +(after! org + ;; Ensure exported HTML opens in the system browser, not inside Emacs + (setq org-file-apps + (append '(("\\.x?html?\\'" . default)) + (assq-delete-all "\\.x?html?\\'" org-file-apps)))) +#+end_src ** +Org Superstar mode+ org-modern instead @@ -1816,7 +1824,9 @@ Recently added the quick access entries. Game changer. #+begin_src emacs-lisp ;; Dirvish config -(after! dirvish +(after! (dirvish dired) + (require 'async) + (dired-async-mode 1) ;; Display icons, file size, timestamps, etc. (setq dirvish-attributes '(nerd-icons @@ -1849,13 +1859,15 @@ Recently added the quick access entries. Game changer. ("d" "~/Downloads/" "Downloads") ("u" "/run/media" "Mounted drives") ("t" "~/.local/share/Trash/files/" "Trash") - ))) + )) + (setq dirvish-yank-use-rsync t) + (setq dirvish-yank-rsync-args '("-ah" "--info=progress2")) +) ;; Use `p` to open the yank menu (map! :after dirvish-yank :map dirvish-mode-map :n "p" #'dirvish-yank-menu) - #+end_src #+RESULTS: @@ -2386,7 +2398,7 @@ Returns nil if no range found (safe, non-blocking)." (all-resolved t)) (when (and (string-match "ids(\\(.*?\\))" clean) (not (string-empty-p (s-trim (match-string 1 clean))))) - (dolist (tid (split-string (match-string 1 clean) "[ ,]+" t)) + (dolist (tid (split-string (match-string 1 clean) "[[:space:],]+" t)) (let* ((clean-id (replace-regexp-in-string "[\"']\\|id: " "" tid)) (pos (org-id-find clean-id t)) (computed-end (gethash clean-id task-end-map)) @@ -2408,6 +2420,9 @@ Returns nil if no range found (safe, non-blocking)." ;; Priority 2: Use range end if FIXED ((string-equal "t" (org-entry-get nil "FIXED")) (gortium/org--get-range-end m)) + ;; Priority 3: Fallback to existing range end if it exists + ((gortium/org--get-range-end m) + (gortium/org--get-range-end m)) (t nil)))))) (t nil))) @@ -2618,10 +2633,27 @@ Returns list of task IDs involved in cycles, or nil if no cycles found." (push task done-this-loop)))))))) (setq remaining (cl-set-difference remaining done-this-loop)))) + ;; --- DIAGNOSTICS FOR UNSCHEDULED TASKS --- + (if remaining + (progn + (message "!!! WARNING: %d tasks were NOT scheduled !!!" (length remaining)) + (dolist (task remaining) + (pcase-let ((`(,_buf ,pos ,id ,_eff ,blocker ,_fix ,_sch ,_off) task)) + (let* ((blocker-string (format "%s" blocker)) + (clean-blocker (if (string-match "ids(\\(.*?\\))" blocker-string) + (match-string 1 blocker-string) + "None"))) + (message " -> Task [%s] at pos %s is BLOCKED by: %s" + id (marker-position pos) clean-blocker))))) + (message "=== All tasks scheduled successfully! ===")) + ;; 3. CLEANUP (setq org-element-use-cache t) (org-element-cache-reset 'all) - (message "=== Scheduler completed (%d tasks, %d iterations) ===" (length all-tasks) iter)))) + (message "=== Scheduler completed (%d tasks, %d iterations) ===" (length all-tasks) iter) + ;; (gortium/org-rollup-parent-ranges) + ;; (message "=== All Scheduling and Roll-ups Complete ===") + ))) ;; --------------------------------------------- (defun gortium/org-ensure-task-properties () @@ -2979,7 +3011,7 @@ Need chrome... :( * +Org-Edna+ -#+begin_src emacs-lisp +#+begin_src emacs-lisp :tangle no ;; Org-edna for advanced task dependencies (use-package! org-edna :after org