[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: org-agenda-dim-blocked-tasks don't use org-todo face
From: |
Ihor Radchenko |
Subject: |
Re: org-agenda-dim-blocked-tasks don't use org-todo face |
Date: |
Mon, 12 Dec 2022 09:59:11 +0000 |
Mark Kerr <mkerr23@gmail.com> writes:
> The org-todo face is used for todo keywords in non-blocked items.
>
> When org-agenda-dim-blocked-tasks is set to true, however, the todo keyword
> is instead displayed using org-agenda-dimmed-todo-face.
>
> The org-priority face, however, is still used for blocked tasks.
>
> Is this by design or due to an error on my part? Is there a possible
> workaround?
This appears to be an omission on Org part, related some overlay
implementation details in Emacs.
Can you try the attached patch?
>From 1bd6d8bd13deb9e7f57826ea492bbc88fddf5ee3 Mon Sep 17 00:00:00 2001
Message-Id:
<1bd6d8bd13deb9e7f57826ea492bbc88fddf5ee3.1670839095.git.yantar92@posteo.net>
From: Ihor Radchenko <yantar92@posteo.net>
Date: Mon, 12 Dec 2022 12:56:11 +0300
Subject: [PATCH] org-agenda-dim-blocked-tasks: Prioritize face over other
overlays
* lisp/org-agenda.el (org-agenda-dim-blocked-tasks): Use high overlays
priority when adding dimmed face. Otherwise, contained overlays, like
created by `org-agenda-fontify-priorities', will take
priority (default Emacs behavior).
Reported-by: Mark Kerr <mkerr23@gmail.com>
Link:
https://orgmode.org/list/CAM9qJ5+C3nvbNaJyq6ofRgPsuAMcaBD=2UN-n96Kb68NBbX3Dg@mail.gmail.com
---
lisp/org-agenda.el | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index eda248938..05f2e3669 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -4166,7 +4166,9 @@ (defun org-agenda-dim-blocked-tasks (&optional _invisible)
(line-beginning-position))
(line-end-position))))
(when todo-blocked
- (overlay-put ov 'face 'org-agenda-dimmed-todo-face))
+ (overlay-put ov 'face 'org-agenda-dimmed-todo-face)
+ ;; Override other overlays.
+ (overlay-put ov 'priority 50))
(when invisible
(org-agenda-filter-hide-line 'todo-blocked)))
(if (= (point-max) (line-end-position))
--
2.38.1
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>