The only problem I have explicitly fixed for that was the Fl_Tree widget, it needs: | | ->item_labelfgcolor(FL_FOREGROUND_COLOR) Otherwise the items have no contrast against the dark background (looks like a bug).


I honestly don't use Windows enough to know whether dark mode is a thing there, but I *do* know that current Ubuntu and macOS explicitly expose light/dark mode preferences, and that macOS (at least) can switch dynamically.
Greg Ercolano wrote:On 3/22/21 3:16 AM, Michael Bäuerle wrote:The only problem I have explicitly fixed for that was the Fl_Tree widget, it needs: | | ->item_labelfgcolor(FL_FOREGROUND_COLOR) Otherwise the items have no contrast against the dark background (looks like a bug).If you submit an issue against Fl_Tree, I'll look into it.Issue number is #204.
Fixed in d6d1d8a
BTW: On my screenshot you can see an ugly workaround for missing columns with " | " separators. For flnews real columns in the tree are often requested by users. I have seen a nice tree widget with columns on your page <http://seriss.com/people/erco/fltk/#TreeWithColumns>. Is there a chance that this widget will become part of FLTK 1.4?
--
You received this message because you are subscribed to the Google Groups "fltk.coredev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fltkcoredev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fltkcoredev/9dfae09e-cfe0-668b-e92b-5189b1c26e1c%40online.de.
ISTR that Greg posted some screenshots and even code for colored (not only "dark") themes. IIRC he changed the gray ramp and maybe some more internal colors. I'm not sure if he needed also widget changes (maybe setting colors explicitly "per theme").
I know that users have asked for "dark mode" or similar from time to time, hence I believe this could be an improvement.
In my case I added a menu to the app that let the user pick
from different color themes.
The theme names (and colormap definitions) were in a text file
that the user could edit
to taste, and add new color theme names/maps, and they would
appear in the menu.
For a long time now "dark theme" has been a thing in the
industry I work in (the film business),
early examples being Softimage, Alias, and Shake. Shake was a
popular compositing tool at the
time which used a very dark theme because people who worked
with the app were doing
color timing, or basically color manipulation/matching, and
worked in dark rooms..
"bright" interfaces distracted from the process of color
timing. Hence many requests
for a dark theme in my interfaces. And indeed apps in this
industry like Mudbox, Maya,
and well just about everything now have dark or toned down
interfaces for doing film/graphics.
It's a careful game to try to get all the colors in the app to
look right, given how the
algorithms for active vs. inactive, and 'highlighted text'
work, which is why I left it
open to users to be able to edit the text files.
There was the main text file definition of the themes in the
app's resource directory,
and then the user could have one in their ~/.<appname>/
directory to override or enhance
the app's defaults.
On 3/22/21 10:55 AM, Bill Spitzak wrote:
It should respond to it (ie dark mode, and also the system settings which obviously they are not changing despite that being an easy way to get all old programs to do "dark mode"), but if the program sets the colors it should ignore it (basically because it initializes the colors depending on dark mode and system settings, then the program changes them).There should be no need for a control as to whether it pays attention or not.
It amazes me that everybody is going crazy over "dark mode" when 30 years ago everybody pretty much agreed that there should be a readable configuration from the system as to the "default background color". And 30 years ago we could do 2^24 settings rather than 2.
BTW: On my screenshot you can see an ugly workaround for missing columns with " | " separators. For flnews real columns in the tree are often requested by users. I have seen a nice tree widget with columns on your page <http://seriss.com/people/erco/fltk/#TreeWithColumns>. Is there a chance that this widget will become part of FLTK 1.4?
I have code offline with a few classes showing how to do this, along with sorting columns, sort indicators, interactively resizable columns, the whole nine yards. [..] It'll take some time to rip it out of my offline application and make it into an example [..]Sounds good.
The first row should be special. It should show the column names (like the blue line in your example) and should stay in place when the vertical scrollbar is used. Maybe separate buttons can be used as column headers, so that users can click them separately (e.g. to request a different sorting order).
And just to bring this thread around to its subject of
"light/dark mode", what is shown here
is this widget in "dark mode".
is in "dark mode", lol, ju
--
You received this message because you are subscribed to the Google Groups "fltk.coredev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fltkcoredev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fltkcoredev/bf8cf388-a28d-2c44-a533-a35b3bdf4958%40seriss.com.
Absolutely drawing the cells should involve calling functions supplied by the application. I think the api could be limited to just what x+y cell is being drawn and how big it is.
Almost 100% of the bugs I see with updating user interfaces is due to code having to "synchronize" the so-called "model" which insists on using toolkit data structures with the real model that the application wants to use. This should be a drawing problem.
[I'm not sure why my email responses are getting blocked, so I'm re-posting through the Google groups page...]
Still to do are Windows 10 and Linux/X11 and sending the FL_DYNAMIC_COLOR_CHANGED event.
Ian,
> On Mar 26, 2021, at 6:36 AM, imm wrote:
> ...
> I had a very brief look at the Win10 side, but it turns out to be a hideous mess. As usual.
Yeah, I had found a few pages that point to looking at a registry variable for this, which would make it easy to support across different Windows versions (registry functions are available all the way back to Win 95 😂) but I suspect Windows users might still want/expect manual control...