emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Automatic face setting based on contrast?


From: Tim Cross
Subject: Re: Automatic face setting based on contrast?
Date: Fri, 08 Oct 2021 11:49:06 +1100
User-agent: mu4e 1.7.0; emacs 28.0.60

Richard Stallman <rms@gnu.org> writes:

> [[[ To any NSA and FBI agents reading my email: please consider    ]]]
> [[[ whether defending the US Constitution against all enemies,     ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
>   > Another idea is semantic faces.  For example, instead of just having the
>   > face `info-title-1', we would have a general face `title1' that a face
>   > in a mode that implements headlines would inherit from.  We obviously
>   > already have some semantic faces, like `font-lock-doc-face', but the
>   > concept could perhaps be developed.
>
> We already have quite a bit of this sort of inheritance, don't we?  It
> would be easy to install more; it's a matter of detail.

Over the years, I've seen a considerable growth in the number of faces
defined, which has made consistent definitions of themes somewhat
challenging. Running M-x list-display-faces on my system shows over 1100
face definitions, which seems excessive. While many of these do use
inheritance, many don't. This is unfortunate. It would be great if all
modes which define faces by default inherit from one of the semantic
font lock faces, allowing basic theme definitions to be possible by just
tweaking the much smaller number of semantic faces and leaving tweaking
of mode specific derived faces to the user when desired.

It would also be useful if there was some way of listing the defined
faces which showed which face they are derived/inherited from to make it
easier to see exactly what would be affected if you modify the 'parent'
face and which faces are not defined to inherit from one of the semantic
faces (and could be a possible candidate for redefining to inherit from
a semantic face).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]