diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-26 12:11:20 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-26 12:11:20 -0500 |
| commit | 8944d69ece46a6f0b4bb9c578e49afaa4f25c86f (patch) | |
| tree | cc9b5bab7978290154bcc08aca32ba9ad2a0ce26 /themes | |
| parent | 1c7a72111ef24d1c6059061608edd2b094436fe0 (diff) | |
| download | dotemacs-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.el | 58 |
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)))) |
