Re: dark theme

andrew strain <[email protected]> Mon, 8 May 2023 17:54:12 -0700 (PDT)
Newsgroups gmane.editors.scite.general
Message-ID <[email protected]>
Neil:
I can certainly remove the abs, and make the loop terminate more plainly, 
and improve the readability significantly I think. If avoiding abs or cmath 
like Math.pow, it is tempting to tweak the brightness 'flipping' to make it 
flip not around 50% but around 45% or 55% . That would be an approximate 
replacement for doing gamma correction in and out. Improvement would be 
very subtle but it only take an extra line or two. I can make a little 
project of making it much more readable.

An option is to have properties like this to expose finer control of the 
transform.
#rendering.transform.luminosity= -50 to 50
#rendering.transform.saturation= 0 to 100
#rendering.transform.brightness=-50 to 50

Or those configurables are just hard coded in the formula.
I think the optimal 'darkmode' transform for a white backed theme, would 
not actually produce a black background from a white input, instead a white 
-> dark charcoal, and black -> almost white. Constricting the target 
luminosity of the output like that, lets very dark or light colors reach 
their target with more color preserved. eg an input blue can be as dark as 
red or brown, but they cannot invert to an equally bright red or yellow, so 
dark blue wants to become white-ish, it loses alot of blueness to invert to 
equal standing with greens and yellows. Restricting the output helps, and 
over a very dark background, full white is not needed, the brightest grey 
on the screen becomes white. Most human made dark themes use dark grey, 
rarely black. A few folks might be perturbed if the dark mode wont produce 
pure black though.

I link below the reset for styles which I think dark mode will need 
explicit in properties. They are taken from my custom theme which is dark, 
but they are inverted to fit the default white backed theme. 

https://gist.github.com/strainer/471ec624053923bd37a1829423d2e264

It seems caret, selection highlighting and fold margin colours will need 
programmed to transform.

- Andrew
On Tuesday, 9 May 2023 at 01:00:43 UTC+1 Neil Hodgson wrote:

> Andrew:
>
> > It is also remarkable how Scite can so snappily refresh the theme when 
> my lua script rewrites the properties.
>
> There's an ongoing war between 'teh snappy' and expressiveness of 
> properties files.
>
> > The results of the simple formula was a bit lack luster on the perl 
> theme but even it would be a relief to users with visual difficulties. I 
> dug out my pre-lua function that was patched in for conversion and I think 
> it can do better. It is an odd blob of code but works well to demonstrate.
> > 
> > https://gist.github.com/strainer/ca20642e9a091634f685915bd6b90e51
>
> That's a complex calculation. The results look much better than the simple 
> formula. I hope the loop always terminates as that's not obvious to me.
>
> The function can't be marked constexpr (potentially calculated at compile 
> time) as abs is called and abs isn't defined as constexpr in the C++ 
> standard until C++23 although some implementations may be constexpr. SciTE 
> still has to support C++17.
>
> Neil
>
>

-- 
You received this message because you are subscribed to the Google Groups "scite-interest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/scite-interest/62fcf2f8-46c7-4480-b6b4-cfd857885b63n%40googlegroups.com.