I had come across a problem with the GSConnect shell extension, wherein it’s settings window does not follow the system dark mode. I have reported the issue on their GitHub page. While troubleshooting with a contributor, they showed me a way to change it temporarily through the GTK Inspector. It does not maintain on reopening the settings window. However, they faced the opposite issue, wherein they couldn’t change to light mode.
Now we just need to figure out what bit in what location the “Dark Variant” inspector switch controls, why it would be different from the color-scheme preference selected in gnome-control-center, and how it can be flipped to default in the other direction (or, even better, to just follow the g-c-c setting).
If somebody could point me to the right direction, it would be lovely!
Huh! That’s a reasonable question, because #TIL that apparently, nothing in Fedora’s package collection actually requires xdg-desktop-portal-gnome! It is an isolated leaf node on the dependency tree.
To be clear, re: GSConnect — the issue is that it does absolutely nothing whatsoever regarding theming, color scheme choices, or what have you — it just lets the system handle that however it pleases. In fact, the only color logic that appears anywhere in the code is a luminance-based contrast check used to set a contrasting foreground text color to match the colored backgrounds used in the SMS interface. There’s just no code to fix, from the application end.
Most of the time, that hands-off approach works. (As I noted in the original report, GSConnect does come up in dark mode on my own F37 box.)
So, I highly doubt this issue is specific to GSConnect in any way; if it’s affected, likely this also impacts other apps. Clearly not every app, because the GNOME Control Center’s dark-mode preference does adjust the Shell interface itself, as well as many applications. The question is, why not all of them?
If a missing xdg-desktop-portal-gnome could be causing this, that sounds worth investigating.
So, the upshot of this is that I eventually worked out the following:
GSConnect is still using Gtk 3.0, for Reasons™.
The dark-mode setting in GNOME Control Center has no effect whatsoever on Gtk 3.0 applications. (Any of them.)
A quick-and-dirty workaround for this issue is to use the GNOME Tweaks utility to set the Legacy Applications theme to “Adwaita-dark”, instead of the default “Adwaita”. That’ll dark-mode all Gtk3 applications.