Hi Protesilaos,

I had seen the same in my setup. I recently started using Doom Emacs (https://github.com/hlissner/doom-emacs/) and was pleasantly surprised to discover that todo and tag faces scale according to the headline in which they are. I don't know precisely how this is done, but there are some hints here, you might use it as a starting point: https://github.com/hlissner/doom-emacs/blob/develop/modules/lang/org/config.el#L146-L175

(tangentially: I am very happy with Doom Emacs. After 30+ years of handcrafting my Emacs config, I decided to give it a try and I can highly recommend it).

--Diego


On Sun, Apr 26, 2020 at 9:01 AM Protesilaos Stavrou <info@protesilaos.com> wrote:
Dear all,

I have noticed that Org faces that combine with headings do not adapt to
their context.  This applies to keywords, priority cookies, links, and
possibly other elements as well.

For example, a "todo" keyword (`org-todo' face) will not scale in size
to match that of the heading level (`org-level-N' face) if the latter
uses a `:height' property.  Same principle for keywords not inheriting
the heading's background, overline, etc.

My expectation is to allow `org-level-N' to pass its attributes to any
element on the same line, unless that element has conflicting face
attributes of its own.  So, in my example, the heading could pass its
height to the "todo" keyword when the `org-todo' face does not define a
`:height' of its own.  Otherwise it would refrain from overriding that
attribute.

Does the community know of a solution to this issue?

I am running:

* Org mode version 9.3.

* GNU Emacs 27.0.91 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.17,
  cairo version 1.17.3) of 2020-04-20.

Best regards,
Protesilaos


--
Protesilaos Stavrou
protesilaos.com