The Breeze themes for gtk2 and gtk3 do not respect the background color of the color scheme, unlike the qt version of the theme. As someone who frequently swaps schemes and uses various background colors, I find this an irking issue, and because of it I'm still using oxygen-gtk.
Steps to Reproduce:
1. Go to: Configure Desktop -> Application Style -> GNOME Application Style (GTK). Select BreezeGTK for both the GTK2 and GTK3 themes.
2. Go to: Configure Desktop -> Color. Switch to a color scheme with a dark background, such as Breeze Dark or Obsidian Coast or Wonton Soup.
3. Open up any GTK2 or GTK3 application.
The widget style does not respect the scheme. The background is white and the text is black.
They should follow the background and text colors specified in the color scheme, just like the QT version of the theme does.
With news that Firefox and Thunderbird will soon be switching from gtk2 to gtk3, I'd really like to see this being given some thought! As far as I'm aware, it's primarily the background color and text color that need to be respected in these themes.
oxygen-gtk (gtk2 only) offers a perfect example of how this is done. The Oxygen widget style, just like the Breeze widget style, is meant to follow the background and text colors of the color scheme.
Just gonna' copy-paste this from my comment on the prior GTK2-related bug 357524:
"Unfortunately, this is going to be remain the case for some time, as we need to polish and restructure the base theme before we rewrite the color generation scripts for the GTKrc, CSS, and SVG files.
"That is, unless some enterprising artist and/or developer with some time on their hands wants to take on the work. Even then, GTK 3's theming machinery is being reworked so that themes don't need to be remade for each stable version of GTK any longer, so it would be wise to delay this until that work is complete to prevent duplication of effort.
"Until these kinks are worked out, it should be fairly straightforward for someone to modify the SVGs, SCSS, and GTKrc files to match the color scheme of their choice. I know that's no real solution, but it's probably the best we're going to get in the immediate future."
All I can do is apologize for our slow progress as volunteers. I should also mention that we can't use Oxygen's method for this as it doesn't work in GTK 3 at all in newer versions and the GTK 2 theme is based on the pixmap engine. Rather than rebuilding the Breeze GTK 2 theme from Oxygen's engine and using another method entirely for GTK 3, we'll be generating both at the same time.
For anyone following this bug, you may be interested in the preliminary scripts for generating a kcolor-based theme; they are available on GitHub in the source folder: https://github.com/dirruk1/gnome-breeze.
This probably won't appear in the upcoming Plasma 5.7, but we'll be testing it more thoroughly and working out the kinks during the upcoming cycle, so this long-standing bug will likely be resolved in the near future.
*** Bug 382134 has been marked as a duplicate of this bug. ***
*** Bug 370241 has been marked as a duplicate of this bug. ***
*** Bug 404921 has been marked as a duplicate of this bug. ***
Git commit 2de7c94402b0354b6503d55895fe44b98001172a by Nate Graham, on behalf of Carson Black.
Committed on 06/08/2019 at 15:08.
Pushed by ngraham into branch 'master'.
[kcm-colors] Export colorscheme to GTK color definitions
This exports the active colorscheme to ~/.config/gtk-3.0/colors.css and sets up ~/.config/gtk-3.0/gtk.css to read from it.
This will do nothing visibly without changes to Breeze GTK made in D22877
Test Plan: See that ~/.config/gtk-3.0/colors.css is created, colorscheme is dumped correctly, and that gtk.css links to it.
Reviewers: #plasma, ngraham, broulik
Reviewed By: #plasma, ngraham, broulik
Subscribers: ahiemstra, ngraham, davidre, broulik, plasma-devel
Differential Revision: https://phabricator.kde.org/D22844
M +1 -213 kcms/colors/colors.cpp
M +0 -2 kcms/colors/colors.h
M +217 -165 kcms/krdb/krdb.cpp
M +4 -1 kcms/krdb/krdb.h
M +1 -1 kcms/style/kcmstyle.cpp
*** Bug 400101 has been marked as a duplicate of this bug. ***