aboutsummaryrefslogtreecommitdiff
path: root/modules/org-agenda-config.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-20 14:23:38 -0500
committerCraig Jennings <c@cjennings.net>2026-07-20 14:23:38 -0500
commit404590623599398f120cd73d44ad235271c3b5bd (patch)
tree52995181cf97758fda4faa6ba94a93692d222992 /modules/org-agenda-config.el
parentab16633846d5a656de1f0c114334a06fca326a0a (diff)
downloaddotemacs-404590623599398f120cd73d44ad235271c3b5bd.tar.gz
dotemacs-404590623599398f120cd73d44ad235271c3b5bd.zip
feat(agenda): add S-<f8> dedicated fullscreen agenda frame
I added a standing agenda surface in its own fullscreen frame of the daemon, placeable on its own workspace while the working frames stay untouched. S-<f8> spawns, raises, or closes it. The force-rescan moves to C-M-<f8>. It shows a today-anchored seven-day view and refreshes every five minutes through org-agenda-redo, so the now-line and synced events stay current without re-scanning the file list. A default-deny minor mode keeps it read-only: only navigation, the engage keys (routed to the working frame), and the frame's own controls are allowed. A failed redo falls back to the last-good snapshot with cloned markers, so the frame is never blank or unrestricted. I made it a frame of the daemon rather than a second process, so it shares the live state (calendar-sync, edits, the now-line). There's no startup auto-open, and the Hyprland-managed-window variant is a vNext once this proves out.
Diffstat (limited to 'modules/org-agenda-config.el')
-rw-r--r--modules/org-agenda-config.el9
1 files changed, 6 insertions, 3 deletions
diff --git a/modules/org-agenda-config.el b/modules/org-agenda-config.el
index 3cff9d95..7bbb31ae 100644
--- a/modules/org-agenda-config.el
+++ b/modules/org-agenda-config.el
@@ -225,11 +225,14 @@ improves performance from several seconds to instant."
Use this after adding new projects or todo.org files.
Bypasses cache and scans directories from scratch.
-Bound to S-<f8>, the force-rebuild sibling of the F8 agenda family
-\(<f8> display, s-<f8> all files, C-<f8> single project, M-<f8> this buffer)."
+Bound to C-M-<f8>, the force-rebuild sibling of the F8 agenda family
+\(<f8> display, s-<f8> all files, C-<f8> single project, M-<f8> this buffer).
+The binding lives in `org-agenda-frame.el', which took S-<f8> for the
+agenda-frame toggle and moved the force-rescan here."
(interactive)
(cj/build-org-agenda-list 'force-rebuild))
-(global-set-key (kbd "S-<f8>") #'cj/org-agenda-refresh-files)
+;; S-<f8> and C-M-<f8> are bound by `org-agenda-frame.el' (cj/--agenda-frame-install-keys):
+;; S-<f8> toggles the fullscreen agenda frame; C-M-<f8> runs the force-rescan above.
(defun cj/todo-list-all-agenda-files ()
"Displays an \\='org-agenda\\=' todo list.