Hi, On Tue, Jul 02, 2024 at 11:28:01AM +1000, Kevin Koster wrote:
One issue with dark background colours is that PNG/GIF images with transparent backgrounds often have text in black and therefore become unreadable, such as this image on Wikipedia: https://en.wikipedia.org/wiki/File:Unix_timeline.en.svg
I'm not good at CSS, but I just made an attempt to work around this by not setting img elements to black in my version of a dark-theme style.css, but it doesn't work, images backgrounds are still black:
* {color: #00f400} body, div, span, nav, p, a, form, h1, h2, h3, h4, h5, h6, ul, ol, li, table, tr, td {background-color: black} img, map {background-color: gray !important} :link {text-decoration: none !important; color: #00f5e8 !important} :visited {text-decoration: none !important; color: #a020f0 !important}
I don't know whether my CSS is invalid or if it's a bug in Dillo, but hints for applying black background-color to everything except images would be welcome. The image background is also black when I open it on its own with "isolate image" from the right-click menu, even though there it's on a light-colour background due to the 'bg_color' setting in dillorc being set to default. Presumably that's because the image in the cache already, loading a new PNG image URL the background is bg_color: https://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Unix_timeline.en.s...
The implementation seems to be incomplete: https://github.com/dillo-browser/dillo/blob/8c97be233a600f414952e458f59768e9... The background color of the image is being assigned from the color of the <html> background. Try this patch to override it from the current element: diff --git a/src/html.cc b/src/html.cc index a55fd2a8..649e7556 100644 --- a/src/html.cc +++ b/src/html.cc @@ -2156,6 +2156,9 @@ DilloImage *a_Html_image_new(DilloHtml *html, const char *tag, int tagsize) if (HT2TB(html)->getBgColor()) image->bg_color = HT2TB(html)->getBgColor()->getColor(); + if (html->styleEngine->backgroundColor()) + image->bg_color = html->styleEngine->backgroundColor()->getColor(); + DilloHtmlImage *hi = dNew(DilloHtmlImage, 1); hi->url = url; html->images->increase();