Open BParks21 opened 1 year ago
GTK_THEME="Adwaita:dark" ./Cemu
Cemu uses wxWidgets for the user interface. AFAIK it's wxWidgets that needs to provide a Dark Mode UI so might want to try asking (nicely) wxWidgets devs about it (but chances are they have already received this request from other people by now).
TLDR;
Cemu depends on wxWidgets devs to implement this functionality.
I don't feel like I was asking impolitely I apologize if it seemed that way.
Don't sweat it, I didn't say that you were being impolite here or anything :P
WxWidgets uses Win32 for theming, which doesn't itself have dark mode toggle support, so the entire thing must be manually changed
it does support windows 10's high contrast black mode though.
According to https://www.windowslatest.com/2022/06/02/windows-11-22h2-is-bringing-mica-acrylic-design-to-more-win32-desktop-apps/ might make it easier for win32 applications to also use the dark mode elements they added for windows explorer. But we'll need to wait till that's out and devs are running it. 🤞
There is this... https://github.com/ysc3839/win32-darkmode
WxWidgets uses Win32 for theming, which doesn't itself have dark mode toggle support, so the entire thing must be manually changed
it does support windows 10's high contrast black mode though.
That's where msstyles come in hand, msstyles are the microsoft themes/styles that you could use to modify those themes, so Win32 normally uses those msstyles, the main fault being ms being lazy and not fixing their msstyles which means they are still not fully dark, you could patch uxtheme and get a custom msstyles and get nice results
Here is a custom dark msstyles which somehow seems to work.
And the graphics packs tab using MicaForEveryone with the Tabbed (basically a more contrasty Mica)
My main point: things like WxWidgets which depend on msstyles, need ms to change the msstyles, so the problem isn't heavily on WxWidgets, but more on the ms crappy msstyles.
Its still a wxWidgets issue, Themes on Windows will color anything that reports supporting theming, so just because a custom theme fixes the issue somewhat doesn't pass the blame from wxWidgets to Microsoft.
WxWidgets uses Win32 for theming, which doesn't itself have dark mode toggle support
Some concepts for that in a similar project that also uses wxWidgets can be found here: https://github.com/tenacityteam/tenacity/pull/608
The upcoming wxWidgets 3.3.0 release has the beginnings of dark mode support for Windows. I hacked together a test using their development branch and here is what it currently looks like: Considering this is how it appears out of the box without any fine-tuning I would say it looks pretty decent.
They don't have an ETA for when 3.3.0 is officially out, but it's probably going to be a couple of months.
Can't wait!
Nice! I'd been waiting for so long for Cemu to have a Dark Mode, that I thought it would never happen. But seeing that it may be within a year from now is very satisfying!
Probably the only emulator I use without some type of dark mode. Idk if it's possible based on the ui software cemu uses but it would be greatly appreciated!