Bug 413111

Summary: Create a "Breeze Light" theme to mirror "Breeze Dark", allowing people to force all GTK apps to be light or dark rather than following the KDE color scheme
Product: [Plasma] Breeze Reporter: stevemcqueen
Component: gtk themeAssignee: Janet Blackquill <uhhadd>
Status: CONFIRMED ---    
Severity: wishlist CC: linus.kardell, long76.git, mail, mat.mueller, nate, tneo, vmorenomarin, xsrvmy
Priority: NOR    
Version: 5.17.0   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: firefox theme settings
firefox theme settings
KDE GTK application theme
DBeaver GTK example
Apps and Settings

Description stevemcqueen 2019-10-17 20:00:53 UTC
Created attachment 123290 [details]
firefox theme settings

SUMMARY
Firefox won't fully use a light theme when KDE is overall using a dark theme (Breeze Dark). I've set everything I can think of to 'light' for firefox, but it still shows menus, tooltips, alert boxes in a dark theme, and websites that detect dark/light mode will prefer dark theme.

Not sure if the problem is on KDE's end or Firefox's, but it only started recently (today, after a system update). It was working fine (everything light in Firefox) before

STEPS TO REPRODUCE
1. Enable Breeze Dark theme in KDE.
2. Set GTK Application styles under settings -> Application Style -> Gnome/GTK Application Style to "breeze" (light) for GTK2 and GTK3.
3. under firefox preferences -> themes, choose "default" or "Light" to see behavior

OBSERVED RESULT
When firefox is in the "default" theme, everything behaves like it's Breeze Dark, rather than a light theme. 

Choosing "light" theme will mostly work, except menus, tooltips, alert boxes etc. will still be in a dark theme. Websites like bugzilla.mozilla.org which detect if you're dark/light will detect you as dark mode.

setting ui.systemUsesDarkTheme=0 in firefox will make bugzilla revert to light mode, but all the menus, tooltips etc. remain dark.

The attached screenshot should show an example.

EXPECTED RESULT
Firefox in light theme and KDE's GTK theme settings set to "breeze" should have all UI elements appear in light mode. Firefox should think it's a light theme, not dark.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: KDE Neon 5.17
(available in About System)
KDE Plasma Version: 5.17
KDE Frameworks Version: 5.63.0
Qt Version: 5.13.1
Firefox Version: 69.0.2

ADDITIONAL INFORMATION
Comment 1 stevemcqueen 2019-10-17 20:02:36 UTC
Created attachment 123291 [details]
firefox theme settings
Comment 2 stevemcqueen 2019-10-17 20:03:20 UTC
Created attachment 123292 [details]
KDE GTK application theme
Comment 3 stevemcqueen 2019-10-17 20:04:49 UTC
apologies, the first attachment "firefox theme settings" (the 97KB one) is a screenshot of Firefox demonstrating the problem. The second attachement labelled that (24KB) is Firefox's theme settings. Not sure how to fix that.
Comment 4 Nate Graham 2019-11-11 00:27:40 UTC
If I'm understanding you, what you want is to have all GTK apps *except* for Firefox respect your dark theme? Can I ask why?
Comment 5 stevemcqueen 2019-11-12 20:20:32 UTC
Created attachment 123873 [details]
DBeaver GTK example

example of the mixed light/dark issue with the app DBeaver
Comment 6 Nate Graham 2019-11-12 20:28:18 UTC
Hmm, I thought we were talking about Firefox here. Your screenshot depicts a separate issue that was just fixed in Plasma 5.17.3; see Bug 413107 and verify with Plasma 5.17.3 to see if that fixes that issue.

Can you clarify what the Firefox issue is? Another screenshot would be helpful.
Comment 7 stevemcqueen 2019-11-12 20:46:17 UTC
So the issue is that I would like my overall KDE theme and Qt apps to be "Breeze Dark" and *all* GTK apps to be "Breeze" (light). 

This was previously working fine, but seems to have recently broken.

Firefox was the most noticeable example of these settings misbehaving, but after a bit further usage I've found it applies to other apps as well. I've attached a screenshot of DBeaver which is showing the same issues (see attachment). It's overall trying to use the Breeze light theme, but certain GUI elements are still showing in dark.

So apologies, I guess I didn't explain well and this ticket might be overly specific about firefox.

Some further messing around I've found the following:
* The same thing happens with a new user account on my current system and a VM of KDE Neon. Change KDE's Theme to "Breeze Dark" and keep GTK theme as "Breeze", restart, and firefox will launch dark, DBeaver has the weird look (see attachment)
* changing the application launch command to "GTK_Theme=BreezeFirefox:light firefox..." seems to mostly right things. Everything is "light", though not exactly matching. I found that in a random forum. There doesn't seem to be a combination of "Breeze" or "Breeze:light" or similar that works, it has to be "BreezeFirefox".

So I'm not sure if this is an issue with KDE's themes and settings, KDE Neon's packaging, or something else. I took a best guess at the Product/Component.

I hope that helps?
Comment 8 stevemcqueen 2019-11-12 21:06:32 UTC
Created attachment 123875 [details]
Apps and Settings

Sorry, not used to bugzilla so there was a delay between my screenshot and reply. 

One more screenshot from a fresh user account. Both Firefox and KDE settings/profiles should all be using out-of-the-box defaults here. Steps:
1) Make a new account
2) set global theme to "Breeze Dark" (not shown)
3) make sure the GTK themes are "Breeze" (shown)
4) log out/login or restart
5) Open Firefox. Notice it's completely dark (should be light)
6) Open another GTK App (DBeaver here). Notice the mix of dark and light widgets.

I took a look at the other bug and that looks promising! I'll wait for the update and report back if that fixes it.
Comment 9 Nate Graham 2019-11-12 21:32:12 UTC
>So the issue is that I would like my overall KDE theme and Qt apps to be
> "Breeze Dark" and *all* GTK apps to be "Breeze" (light). 
OK. Marking this as a feature request since I think most people prefer consistency, judging by the number of bug reports we got requesting that. :)

Fortunately, there is already a patch that would make this work: https://phabricator.kde.org/D24122

I had objected to it at the time it was submitted, but it looks like I wasn't fully understanding why someone would want this ability, and thanks to you, I do now. I'll see about getting that added.
Comment 10 Linus Kardell 2019-11-17 11:47:35 UTC
It's not just for preference. For me I want all apps dark. However, since Firefox uses the GTK theme as the base style for some web content, using a dark GTK theme will break some web sites. Setting "widget.content.gtk-theme-override" to "Breeze" used to fix this, making the web content use a light theme, while the UI uses a light theme. Presumably, in the future it should instead be set to "Breeze-Light".
Comment 11 Nate Graham 2019-11-17 16:21:48 UTC
> However, since Firefox uses the GTK theme as the base style for some web
> content, using a dark GTK theme will break some web sites.
This seems like a bug in Firefox more than a bug in our theming of it. Can you file a bug on Firefox's bugtracker about this? https://bugzilla.mozilla.org/
Comment 12 Linus Kardell 2019-11-17 19:29:57 UTC
The did apparently recently change it to use Adwaita by default if you have a dark theme (https://bugzilla.mozilla.org/show_bug.cgi?id=1527048), though that won't help if you want the content to use Breeze widgets.
Comment 13 Nate Graham 2019-11-17 20:03:08 UTC
Carson, is there anything we can do here, or does everything need to be fixed on Mozilla's side with https://bugzilla.mozilla.org/show_bug.cgi?id=1527048 and/or https://bugzilla.mozilla.org/show_bug.cgi?id=1411425?
Comment 14 xsrvmy 2020-06-08 15:58:16 UTC
Lots of people are commenting firefox here. Actually, trying to use the breeze light theme with Chrome also causes a problem if you use the GTK+ theme in Chrome. The title bar will be in white, but the max/min/close buttons will be from the standard dark title bar decorations, meaning they are invisible until you hover over them.
Comment 15 Misha Shaygu 2020-11-09 07:39:26 UTC
+1, i'm using zulip which auto-switch mode from light to dark(and reverse) according from system preference. i switch to "Breeze Dark" but zulip theme stay light. the same behaviour was in google chrome which became dark after set theme to GTK+.
Comment 16 Matthias Mueller 2021-01-02 17:51:43 UTC
I'd like to add to the wish for "forced" dark or light breeze GTK.
I use Breeze Dark as a main theme and when i use Breeze for GTK, applications that have a darkmode-switch (like for example lutris) use the Breeze-Dark colorset. If the application does not have a darkmode-switch (like for example prusaslicer), it uses the light Breeze colorset.
So i would wish for distinct Breeze-Light-GTK and Breeze-Dark-GTK themes :)
Comment 17 VĂ­ctor 2021-03-09 18:09:29 UTC
Yes. Also, Inkscape does not recognize Dark Breeze theme for GTK apps.
Comment 18 Mikhail Zolotukhin 2021-03-09 20:22:49 UTC
Hm... Given the fact, that we cannot longer customize the Breeze GTK appearance in GTK4 with the current mechanism and the amount of confusion, that the single Breeze option in combobox gives to some users, I think what we can do is the following:

1. Create 3 Breeze GTK variants: Breeze Light, Breeze Dark and Breeze Native.
2. Breeze Native will be the default and will grab all its tweaks from some Plasma settings (color scheme, window decorations). Possibly Breeze Native will be auto-generated variant (Not yet sure how to do that exactly).
3. Breeze Light and Breeze Dark will use the standard Breeze Light and Breeze Dark color schemes.
Comment 19 Nate Graham 2021-03-09 20:27:47 UTC
That seems sensible to me.
Comment 20 tneo 2022-02-11 13:29:29 UTC
Coming here as I re-discovered Firefox and it annoys me terribly it turns black when my GTK theme is "Breeze". Will the proposed resolution be in the next Plasma release?