Changes to how org-agenda / khalel are loaded to speed up agenda generation

Remove khalel-import-events hook from org-agenda, remap
org-agenda-redo ("r") -> khalel-import-events to trigger manual
import.

When first loading org-agenda module run khalel-import-events once

Set org-agenda-inhibit-startup to speed up further
This commit is contained in:
Evie Litherland-Smith 2024-10-21 09:45:52 +01:00
parent a3c51e64c9
commit 71f3ebc7d0

View file

@ -378,10 +378,10 @@ Rules and packages for buffer management and window navigation.
(add-to-list 'package-selected-packages 'khalel) (add-to-list 'package-selected-packages 'khalel)
(use-package khalel (use-package khalel
:if (package-installed-p 'khalel) :if (package-installed-p 'khalel)
:functions (khalel-add-capture-template) :after (org-agenda)
:hook (org-agenda-mode . khalel-import-events) :commands (khalel-add-capture-template khalel-import-events)
:config :bind ( :map org-agenda-mode-map
(khalel-add-capture-template) ("<remap> <org-agenda-redo>" . khalel-import-events))
:custom :custom
(khalel-default-alarm "10") (khalel-default-alarm "10")
(khalel-default-calendar nil) (khalel-default-calendar nil)
@ -1021,8 +1021,9 @@ Configure email with iCalendar event support, to integrate with
:custom :custom
(org-agenda-span 'week) (org-agenda-span 'week)
(org-agenda-start-on-weekday 1) (org-agenda-start-on-weekday 1)
(org-agenda-sticky t) (org-agenda-sticky nil)
(org-agenda-window-setup 'current-window) (org-agenda-window-setup 'current-window)
(org-agenda-inhibit-startup t)
(org-agenda-tags-column 0) (org-agenda-tags-column 0)
(org-agenda-diary-file (expand-file-name "calendar/diary.org" org-directory)) (org-agenda-diary-file (expand-file-name "calendar/diary.org" org-directory))
(org-agenda-include-diary nil) (org-agenda-include-diary nil)
@ -1042,7 +1043,14 @@ Configure email with iCalendar event support, to integrate with
(expand-file-name "calendar" org-directory) (expand-file-name "calendar" org-directory)
(expand-file-name "roam/journal.org" org-directory))) (expand-file-name "roam/journal.org" org-directory)))
:config :config
(appt-activate +1)) (appt-activate +1)
(setq org-agenda-custom-commands
'(("p" "Personal Agenda" tags "+personal")
("w" "Work Agenda" tags "+work"))))
(with-eval-after-load 'org-agenda
(require 'khalel)
(khalel-import-events))
(use-package ox-icalendar (use-package ox-icalendar
:after org :after org