Subject: bug#51556: 29.0.50; Poor contrast of Customize SVG icons with dark backgrounds

From: Stefan Kangas <[email-masked]>
Date: Tue, 2 Nov 2021 07:41:43 -0700

Eli Zaretskii <[email-masked]> writes:

> AFAIK, only the background color of the face will affect the display,
> and that is not enough.  Since a theme determines the looks, it should
> also control the icons where that matters.

As I have recently announced on emacs-devel, I am working on developing
a library supporting icon sets.

I think it is better to think of icons as orthogonal to the colors: this
allows choosing any combination of icons and colors.  For example, I
might want to use the icons from some free set X, but I want to use it
with all color themes.  This will also allow color theme developers to
simply say "this or that icon, whatever it is, should have this color",
without having to provide a large amount of icons to get it right.

Thinking about how to fix this in emacs-28, we discussed adding a face
and just removing the foreground color from the svg.

If we were add a face here, I think the more general customization that
I hope we will introduce in Emacs 29.1 (read: if we accept my new
library) would render that face ineffective.  So it might not be worth
it, I don't know.  Perhaps something like that could wait for 29.

The simplest solution for emacs-28 seems to simply remove the foreground
color of that glyph, which IIUC (but I didn't test) should mean it will
just use the foreground color of the current face in the customize
buffer.  Which should look okay in most cases, I think.