Compare commits

...

2 Commits

Author SHA1 Message Date
Daniel - aa0a7e9791
Unbind `org-agenda-redo-all` in agenda buffers
It's annoying that `org-agenda-redo-all` always jumps back to today, so let's
try to avoid this by not having it bound anymore.  I am usually completely
satisfied with `org-agenda-redo` anyway.
2023-11-18 14:19:25 +01:00
Daniel - 712a314923
Try a bit harder to avoid recentering after agenda buffer redo
New try: temporarily nullify `recenter`, seems to work so far and keeps point on
the same line.
2023-11-18 14:18:41 +01:00
1 changed files with 11 additions and 7 deletions

18
init.el
View File

@ -897,7 +897,8 @@
:bind (:map org-agenda-mode-map
("i" . org-agenda-clock-in)
("v" . hydra-org-agenda-view/body)
([remap org-clock-goto] . db/org-clock-goto-first-open-checkbox))
([remap org-clock-goto] . db/org-clock-goto-first-open-checkbox)
([remap org-agenda-redo-all] . org-agenda-redo))
:init (setq org-agenda-include-diary t
org-agenda-span 1
org-agenda-insert-diary-strategy 'top-level
@ -1071,12 +1072,15 @@
(add-hook 'org-agenda-finalize-hook #'db/org-agenda-insert-active-filters)
(add-hook 'org-agenda-filter-hook #'org-agenda-redo-all)
(define-advice org-agenda-redo-all (:around (old-func &rest r) goto-top-and-execute)
"Avoid recentering the Org agenda buffer after redo by moving
point to the beginning of buffer first."
(save-mark-and-excursion
(goto-char (point-min))
(apply old-func r)))))
(define-advice org-agenda-redo (:around
(actual-agenda-redo &rest r)
inhibit-recentering)
"Try to avoid recentering the window when redoing the Org agenda buffer."
(let ((old-recenter (symbol-function 'recenter)))
(fset 'recenter 'identity)
(unwind-protect
(apply actual-agenda-redo r)
(fset 'recenter old-recenter))))))
;; Capturing