Bug 356006

Summary: Breeze GTK does not respect the color scheme
Product: [Plasma] Breeze Reporter: Mircea Kitsune <sonichedgehog_hyperblast00>
Component: gtk themeAssignee: scionicspectre
Status: RESOLVED FIXED    
Severity: normal CC: bugseforuns, i, itumaykin+kde, jan.pavlicek, kde-bugzilla, kde, mrl586, nate, sonichedgehog_hyperblast00, tuupic
Priority: HI    
Version: 5.4.3   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 5.17.0
Sentry Crash Report:

Description Mircea Kitsune 2015-11-27 21:42:16 UTC
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.

Reproducible: Always

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.

Actual Results:  
The widget style does not respect the scheme. The background is white and the text is black.

Expected Results:  
They should follow the background and text colors specified in the color scheme, just like the QT version of the theme does.
Comment 1 Mircea Kitsune 2016-01-09 13:07:48 UTC
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.
Comment 2 scionicspectre 2016-01-09 22:04:45 UTC
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.
Comment 3 scionicspectre 2016-06-13 04:15:56 UTC
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.
Comment 4 Patrick Silva 2018-02-27 15:47:10 UTC
*** Bug 382134 has been marked as a duplicate of this bug. ***
Comment 5 Patrick Silva 2018-02-27 15:53:01 UTC
*** Bug 370241 has been marked as a duplicate of this bug. ***
Comment 6 Nate Graham 2019-03-02 22:06:02 UTC
*** Bug 404921 has been marked as a duplicate of this bug. ***
Comment 7 Nate Graham 2019-08-06 15:08:20 UTC
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

Summary:
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
FIXED-IN: 5.17.0

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

Tags: #plasma

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

https://commits.kde.org/plasma-desktop/2de7c94402b0354b6503d55895fe44b98001172a
Comment 8 Nate Graham 2019-10-10 19:12:24 UTC
*** Bug 400101 has been marked as a duplicate of this bug. ***
Comment 9 Guo Yunhe 2019-10-10 20:35:02 UTC
Good job!