diff --git a/init.el b/init.el index 05a7d02..2a45910 100644 --- a/init.el +++ b/init.el @@ -180,53 +180,55 @@ (org-agenda-day-view))) ;For Org-Agenda, you can set a location of your Org Agenda file here. Set Agenda Directory: (use-package org - ;:ensure (:wait t) - :ensure nil - :demand t - :after evil - :hook - (org-agenda-mode . (lambda() (org-agenda-entry-text-mode 1))) - :bind - (:map org-agenda-mode-map - ("C-j" . evil-next-line) - ("C-k" . evil-previous-line) - ("d" . org-agenda-toggle-day-view) - :map evil-normal-state-map - ("U" . undo-redo)) - :config - (setq org-agenda-files '("~/Nextcloud/Agenda")) - ;This is will integrate the Calendar/Diary into Org-Agenda, so you can get access to dates on public holidays etc. Set diary to true: - (setq org-agenda-include-diary t) - ;Ensure done date/closed timestamps are logged - (setq org-log-done 'time) - ;Ensure state changes are logged into logbook - (setq org-log-into-drawer "LOGBOOK") + :ensure nil + :demand t ; Setting org mode to be deferred absolutely breaks everything, with org-agenda-mode-map error. Please switch to eval after load maybe instead. + :hook + (org-agenda-mode . (lambda() (org-agenda-entry-text-mode 1))) + :config + (setq org-agenda-files '("~/Nextcloud/Agenda")) + ;This is will integrate the Calendar/Diary into Org-Agenda, so you can get access to dates on public holidays etc. Set diary to true: + (setq org-agenda-include-diary t) + ;Ensure done date/closed timestamps are logged + (setq org-log-done 'time) + ;Ensure state changes are logged into logbook + (setq org-log-into-drawer "LOGBOOK") - ;Ensure agenda still shows DONE items - (setq org-agenda-skip-scheduled-if-done nil) - (setq agenda-skip-deadline-if-done nil) + ;Ensure agenda still shows DONE items + (setq org-agenda-skip-scheduled-if-done nil) + (setq agenda-skip-deadline-if-done nil) - ;Fold settings - ;Org Mode historically used overlays to hide text, but newer versions moved toward text properties for better performance in large files. This change occasionally causes "stuck" visibility where sub-headers remain hidden until the parent is fully cycled. - (setq org-fold-core-style 'overlays) - (setq org-startup-folded t) - (setq org-hide-emphasis-markers nil)) + ;Fold settings + ;Org Mode historically used overlays to hide text, but newer versions moved toward text properties for better performance in large files. This change occasionally causes "stuck" visibility where sub-headers remain hidden until the parent is fully cycled. + (setq org-fold-core-style 'overlays) + (setq org-startup-folded t) + (setq org-hide-emphasis-markers nil)) +(with-eval-after-load 'org + (with-eval-after-load 'evil + ; Unbind stubborn org mode bindings + (define-key org-mode-map (kbd "M-h") nil) + (define-key org-mode-map (kbd "M-l") nil) + (evil-define-key* '(normal) org-mode-map (kbd "M-h") nil) + (evil-define-key* '(normal) org-mode-map (kbd "M-l") nil))) +(with-eval-after-load 'org-agenda + (define-key org-agenda-mode-map (kbd "C-j") 'evil-next-line) + (define-key org-agenda-mode-map (kbd "C-k") 'evil-previous-line) + (define-key org-agenda-mode-map "d" 'org-agenda-toggle-day-view) + (define-key org-agenda-mode-map "p" 'org-pomodoro)) ; For Org Pomodoro notification sound (use-package sound-wav - :ensure t) + :ensure t) ; Org Pomodoro (use-package org-pomodoro - :ensure t - :after org - :defer t - :config - (setq org-pomodoro-manual-break t) - (setq org-pomodoro-keep-killed-pomodoro-time t) - (setq org-pomodoro-play-sounds t) - (setq org-pomodoro-ticking-sound-p nil) - (setq org-pomodoro-audio-player "mpv")) + :ensure t + :after (org sound-wav) + :config + (setq org-pomodoro-manual-break t) + (setq org-pomodoro-keep-killed-pomodoro-time t) + (setq org-pomodoro-play-sounds t) + (setq org-pomodoro-ticking-sound-p nil) + (setq org-pomodoro-audio-player "mpv")) (defun sound-alert (alert) "Play a sound notification and show message ALERT."