Compare commits
3 Commits
2d6b40088e
...
a4823651a1
Author | SHA1 | Date |
---|---|---|
Daniel - | a4823651a1 | |
Daniel - | a44b7b660e | |
Daniel - | 8c9c47f6e3 |
23
init.el
23
init.el
|
@ -741,7 +741,7 @@
|
|||
org-dblock-write:db/org-workload-report
|
||||
endless/org-ispell
|
||||
db/org-agenda-list-deadlines
|
||||
db/org-agenda-skip-tag
|
||||
db/org-agenda-insert-active-filters
|
||||
hydra-org-agenda-view/body
|
||||
db/org-agenda-insert-efforts
|
||||
db/org-eval-subtree-no-confirm
|
||||
|
@ -1134,9 +1134,6 @@
|
|||
org-agenda-search-headline-for-time nil
|
||||
org-agenda-search-view-always-boolean t
|
||||
|
||||
;; Show daily efforts directly in the agenda
|
||||
org-agenda-finalize-hook '(db/org-agenda-insert-efforts)
|
||||
|
||||
org-agenda-clock-consistency-checks
|
||||
'(:max-duration 9999999
|
||||
:min-duration 0
|
||||
|
@ -1257,15 +1254,25 @@
|
|||
(org-agenda-skip-deadline-prewarning-if-scheduled t)))))))
|
||||
|
||||
:config (progn
|
||||
;; avoid important buffers to end up in `org-agenda-new-buffers’ by
|
||||
;; Avoid important buffers to end up in `org-agenda-new-buffers’ by
|
||||
;; opening them manually
|
||||
(mapc #'find-file-noselect org-agenda-files)
|
||||
|
||||
(add-hook 'org-agenda-mode-hook #'hl-line-mode 'append)
|
||||
|
||||
;; Check that all expected agenda files are being displayed.
|
||||
(advice-add 'org-agenda
|
||||
:before #'db/check-special-org-files-in-agenda)
|
||||
|
||||
(add-hook 'org-agenda-mode-hook #'hl-line-mode 'append)
|
||||
|
||||
;; Show daily efforts directly in the agenda
|
||||
(add-hook 'org-agenda-finalize-hook #'db/org-agenda-insert-efforts)
|
||||
|
||||
;; Prominently display active filters on top of agenda view; also
|
||||
;; update current agenda view when updating filters to make sure our
|
||||
;; display is always correct.
|
||||
(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."
|
||||
|
@ -2791,7 +2798,7 @@ With given ARG, display files in `db/important-document-path’."
|
|||
;; General Stuff first
|
||||
|
||||
(use-package lisp-mode
|
||||
:init (setq lisp-indent-function #'lisp-indent-function))
|
||||
:init (setq lisp-indent-function #'common-lisp-indent-function))
|
||||
|
||||
(use-package lispy
|
||||
:ensure t
|
||||
|
|
|
@ -112,23 +112,39 @@ deadlines."
|
|||
(setq buffer-read-only t)
|
||||
(message ""))))
|
||||
|
||||
(defun db/org-agenda-skip-tag (tag &optional others)
|
||||
;; https://stackoverflow.com/questions/10074016/org-mode-filter-on-tag-in-agenda-view
|
||||
"Skip all entries that correspond to TAG.
|
||||
(defun db/org-agenda-insert-active-filters (&optional match)
|
||||
"Insert string showing the current agenda filters.
|
||||
|
||||
If OTHERS is true, skip all entries that do not correspond to TAG."
|
||||
(let* ((next-headline (save-mark-and-excursion
|
||||
(or (outline-next-heading) (point-max))))
|
||||
(current-headline (or (and (org-at-heading-p)
|
||||
(point))
|
||||
(save-mark-and-excursion
|
||||
;; remember to also consider invisible headings
|
||||
(org-back-to-heading t))))
|
||||
(has-tag (member tag (org-get-tags current-headline))))
|
||||
(if (or (and others (not has-tag))
|
||||
(and (not others) has-tag))
|
||||
next-headline
|
||||
nil)))
|
||||
The filter display is added after the structural header.
|
||||
|
||||
If no agenda filters are active, nothing will be inserted.
|
||||
|
||||
Add this function to `org-agenda-finalize-hook' to enable this."
|
||||
;; First delete any present active filter display, as it might be obsolete.
|
||||
(save-excursion
|
||||
(when-let ((pos (text-property-any
|
||||
(point) (point-max) 'db/active-filter-display t)))
|
||||
(goto-char pos)
|
||||
(kill-line)))
|
||||
|
||||
;; Insert current active filters if there are any.
|
||||
(when (org-agenda-filter-any)
|
||||
(save-excursion
|
||||
(when-let ((pos (text-property-any
|
||||
(point) (point-max) 'org-agenda-structural-header t)))
|
||||
(goto-char pos)
|
||||
(end-of-line)
|
||||
|
||||
;; Current filter display shamelessly stolen from `org-agenda-filter'.
|
||||
;; Is there a function to do this?
|
||||
(let* ((cf (mapconcat #'identity org-agenda-category-filter ""))
|
||||
(tf (mapconcat #'identity org-agenda-tag-filter ""))
|
||||
(ef (replace-regexp-in-string "^\\+" "" (or (car org-agenda-effort-filter) "")))
|
||||
(rf (replace-regexp-in-string "^\\+" "" (or (car org-agenda-regexp-filter) "")))
|
||||
(ff (concat cf tf ef (when (not (equal rf "")) (concat "/" rf "/")))))
|
||||
(insert-and-inherit
|
||||
(propertize (format " [%s]" ff)
|
||||
'db/active-filter-display t)))))))
|
||||
|
||||
;; A Hydra for changing agenda appearance
|
||||
;; http://oremacs.com/2016/04/04/hydra-doc-syntax/
|
||||
|
|
Loading…
Reference in New Issue