aboutsummaryrefslogtreecommitdiff
path: root/themes
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-26 12:11:20 -0500
committerCraig Jennings <c@cjennings.net>2026-05-26 12:11:20 -0500
commit8944d69ece46a6f0b4bb9c578e49afaa4f25c86f (patch)
treecc9b5bab7978290154bcc08aca32ba9ad2a0ce26 /themes
parent1c7a72111ef24d1c6059061608edd2b094436fe0 (diff)
downloaddotemacs-8944d69ece46a6f0b4bb9c578e49afaa4f25c86f.tar.gz
dotemacs-8944d69ece46a6f0b4bb9c578e49afaa4f25c86f.zip
fix(dupre): pin org keyword and priority faces to a uniform height
A level-2 heading's whole line carries org-level-2 (height 157). org layers that level face onto a bare TODO keyword, but drops it when the heading has a priority cookie, so the keyword fell back to the body height (143). The same keyword rendered at 157 without a cookie and 143 with one, which read as inconsistent keyword sizes across the Linear and todo views. I gave org-todo, org-done, and the dupre-org-* keyword and priority faces an explicit :height of 143 so they no longer float with the heading face. The height is absolute on purpose. A float would re-inherit the level height inside the face list and bring the inconsistency back. Keywords now render at the body height everywhere, a step down from the heading title.
Diffstat (limited to 'themes')
-rw-r--r--themes/dupre-faces.el58
1 files changed, 32 insertions, 26 deletions
diff --git a/themes/dupre-faces.el b/themes/dupre-faces.el
index 1bc8b132..991cc1a5 100644
--- a/themes/dupre-faces.el
+++ b/themes/dupre-faces.el
@@ -205,8 +205,14 @@
`(org-level-6 ((t (:foreground ,gray+1))))
`(org-level-7 ((t (:foreground ,gray))))
`(org-level-8 ((t (:foreground ,gray))))
- `(org-todo ((t (:foreground ,red-1 :weight bold))))
- `(org-done ((t (:foreground ,green :weight bold))))
+ ;; Pin keyword/priority faces to the body height (143). org layers the
+ ;; heading's org-level-N face onto a bare keyword but drops it when a
+ ;; priority cookie is present, so without an explicit height the same
+ ;; keyword renders at the heading size on some lines and the body size on
+ ;; others. An absolute height (not a float, which would re-inherit the
+ ;; level height inside the face list) keeps every keyword uniform.
+ `(org-todo ((t (:foreground ,red-1 :weight bold :height 143))))
+ `(org-done ((t (:foreground ,green :weight bold :height 143))))
`(org-headline-done ((t (:foreground ,gray))))
`(org-headline-todo ((t (:foreground ,fg))))
@@ -216,30 +222,30 @@
;; non-selected windows. org-config.el points org-todo-keyword-faces and
;; org-priority-faces at the focused faces; auto-dim-config.el remaps each
;; focused face to its -dim variant in unfocused windows.
- `(dupre-org-todo ((t (:foreground ,green :weight bold))))
- `(dupre-org-todo-dim ((t (:foreground ,green-1 :weight bold))))
- `(dupre-org-project ((t (:foreground ,blue :weight bold))))
- `(dupre-org-project-dim ((t (:foreground "#3d4a5a" :weight bold))))
- `(dupre-org-doing ((t (:foreground ,yellow :weight bold))))
- `(dupre-org-doing-dim ((t (:foreground ,yellow-2 :weight bold))))
- `(dupre-org-waiting ((t (:foreground ,fg :weight bold))))
- `(dupre-org-waiting-dim ((t (:foreground ,gray :weight bold))))
- `(dupre-org-verify ((t (:foreground ,red :weight bold))))
- `(dupre-org-verify-dim ((t (:foreground ,red-1 :weight bold))))
- `(dupre-org-stalled ((t (:foreground ,blue+1 :weight bold))))
- `(dupre-org-stalled-dim ((t (:foreground ,blue :weight bold))))
- `(dupre-org-failed ((t (:foreground ,intense-red :weight bold))))
- `(dupre-org-failed-dim ((t (:foreground ,red :weight bold))))
- `(dupre-org-done ((t (:foreground ,gray-2 :weight bold))))
- `(dupre-org-done-dim ((t (:foreground ,bg+2 :weight bold))))
- `(dupre-org-priority-a ((t (:foreground ,blue+1 :weight bold))))
- `(dupre-org-priority-a-dim ((t (:foreground ,blue :weight bold))))
- `(dupre-org-priority-b ((t (:foreground ,yellow))))
- `(dupre-org-priority-b-dim ((t (:foreground ,yellow-2))))
- `(dupre-org-priority-c ((t (:foreground ,green))))
- `(dupre-org-priority-c-dim ((t (:foreground ,green-1))))
- `(dupre-org-priority-d ((t (:foreground ,gray))))
- `(dupre-org-priority-d-dim ((t (:foreground ,gray-1))))
+ `(dupre-org-todo ((t (:foreground ,green :weight bold :height 143))))
+ `(dupre-org-todo-dim ((t (:foreground ,green-1 :weight bold :height 143))))
+ `(dupre-org-project ((t (:foreground ,blue :weight bold :height 143))))
+ `(dupre-org-project-dim ((t (:foreground "#3d4a5a" :weight bold :height 143))))
+ `(dupre-org-doing ((t (:foreground ,yellow :weight bold :height 143))))
+ `(dupre-org-doing-dim ((t (:foreground ,yellow-2 :weight bold :height 143))))
+ `(dupre-org-waiting ((t (:foreground ,fg :weight bold :height 143))))
+ `(dupre-org-waiting-dim ((t (:foreground ,gray :weight bold :height 143))))
+ `(dupre-org-verify ((t (:foreground ,red :weight bold :height 143))))
+ `(dupre-org-verify-dim ((t (:foreground ,red-1 :weight bold :height 143))))
+ `(dupre-org-stalled ((t (:foreground ,blue+1 :weight bold :height 143))))
+ `(dupre-org-stalled-dim ((t (:foreground ,blue :weight bold :height 143))))
+ `(dupre-org-failed ((t (:foreground ,intense-red :weight bold :height 143))))
+ `(dupre-org-failed-dim ((t (:foreground ,red :weight bold :height 143))))
+ `(dupre-org-done ((t (:foreground ,gray-2 :weight bold :height 143))))
+ `(dupre-org-done-dim ((t (:foreground ,bg+2 :weight bold :height 143))))
+ `(dupre-org-priority-a ((t (:foreground ,blue+1 :weight bold :height 143))))
+ `(dupre-org-priority-a-dim ((t (:foreground ,blue :weight bold :height 143))))
+ `(dupre-org-priority-b ((t (:foreground ,yellow :height 143))))
+ `(dupre-org-priority-b-dim ((t (:foreground ,yellow-2 :height 143))))
+ `(dupre-org-priority-c ((t (:foreground ,green :height 143))))
+ `(dupre-org-priority-c-dim ((t (:foreground ,green-1 :height 143))))
+ `(dupre-org-priority-d ((t (:foreground ,gray :height 143))))
+ `(dupre-org-priority-d-dim ((t (:foreground ,gray-1 :height 143))))
`(org-date ((t (:foreground ,gray :underline t))))
`(org-link ((t (:foreground ,blue :underline t))))