Prefer theme variant per window
Currently, it is possible to set that the application prefers the dark theme variant via GtkSettings gtk-application-prefer-dark-theme propoerty. However, this setting is only globally for the whole application, it does not allow one window of an application to prefer a different variant than others.
In some cases, window based theme variant selection would be more sensible:
- In GNOME Terminal, theme variant is a global setting, but color settings are a profile setting. Some color settings only work well with a dark theme, others work better with a light theme. Thus it would make more sense to have theme variant selection as part of the profile.
- The (now abandoned) Empathy chat client supports both chatting and video calls. In chats it seems a good design decision to use a light theme variant, in the video call user interface, dark theme variant is more suited. In Empathy, this is partially mitigated by having the call UI outside of the chat UI process (and thus use its own GtkSettings instance), which works fine because both processes connect to the libTelepathy dbus service independently. If the chat client does not use an out-of-process dbus service (like Fractal or Dino), this is way harder to realize.
I thus think it would be a good idea to allow developers to specify the desired theme variant per window (additionally to the already existing application-wide switch).
If this is possible through some (apparently not well documented) means already, please advice on how to do so.