Bug 343555 - Breeze support for gtk2 and gtk3
Summary: Breeze support for gtk2 and gtk3
Status: RESOLVED FIXED
Alias: None
Product: Breeze
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR wishlist
Target Milestone: ---
Assignee: Plasma Development Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-30 07:02 UTC by Andrew Chen
Modified: 2015-11-29 23:45 UTC (History)
16 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Chen 2015-01-30 07:02:27 UTC
It would be helpful for breeze to support gtk2 and gtk3 like oxygen, so that having an uniform look and feel for both qt and gtk applications while using breeze is possible.

Reproducible: Always
Comment 1 Martin Klapetek 2015-01-30 11:06:58 UTC
Iirc Hugo said that gtk3 is deprecating theme engines and so proper gtk3 port is...unlikely.

You can however still use QtCurve with the Breeze config and use QtCurve for gtk stuff. That should work.
Comment 2 Philipp A. 2015-01-30 18:36:30 UTC
What you said is very misleading:

> GtkThemingEngine has been deprecated in GTK+ 3.14 and will be ignored for rendering. The advancements in CSS theming are good enough to allow themers to achieve their goals without the need to modify source code.

so rebuilding breeze in CSS is entirely possible and as future-proof as you can get with GTK :|
Comment 3 Martin Klapetek 2015-01-30 18:44:04 UTC
> What you said is very misleading

Well I said "Iirc Hugo said that gtk3 is deprecating theme engines" which is very true as you just confirmed, then I said "so proper gtk3 port is...unlikely", which is also true. It is unlikely because Hugo (iirc) refuses to do it if there's no proper support for GtkThemingEngine. Then I suggested QtCurve which (again, iirc) should support both gtk2 and gtk3. 

Neither word from that was "very misleading".

> so rebuilding breeze in CSS is entirely possible

Yes, I guess it is. Someone just needs to do it. And maintain it.
Comment 4 Philipp A. 2015-01-30 18:51:56 UTC
well, the misleading part was that it sounded like there wasn’t a way to get GTK to use a breeze look.

am i right that you wanted to say that code sharing isn’t possible if one theme is done in GTK, and therefore there will no platform-independent breeze drawing code?

i think it’s still possible to share code. we’d need to add a stylesheet/theme generator to the same repo as Qt breeze, which uses the colors and margins/paddings of Qt breeze. sure: more duplicate work, but i doubt there could be much code sharing for oxygen-gtk and oxygen.
Comment 5 Eike Hein 2015-01-30 19:49:30 UTC
> Then I suggested QtCurve which (again, iirc) should support both gtk2 and gtk3. 

Qt Curve has no GTK+ 3 version. I really doubt it will ever have one without GtkThemingEngine.

-- snip ---

> so rebuilding breeze in CSS is entirely possible

That doesn't follow from your quote at all and remains unproven until someone tries and succeeds. 

> well, the misleading part was that it sounded like there wasn’t a way to get GTK to use a breeze look.

"Sounded like" is your interpretation and doesn't make Martin's statement actively misleading. I can't read in there what you read in there. I read doubt that the remaining theming options in GTK+ are sufficient (and share that doubt).
Comment 6 Hugo Pereira Da Costa 2015-02-02 23:01:48 UTC
Before the removal of gtktheming engine, oxygen-gtk2 and oxygen-gtk3 shared ~90%.
After the said removal: 0% (and some 45 000 lines of code thrown to trash, + some nasty comments from the gtk theming dev)
Same would have happened for breeze (with an addition ~50% or more, code share with oxygen, as is the case now for the Qt version).

You must understand that within this context the motivation to "port" the said 45k lines (and write as much for breeze), is pretty low on my side.

Note that oxygen @ gtk3 is also discontinued.
Comment 7 Weng Xuetian 2015-02-03 00:31:12 UTC
What about not starting from scratch?

kde-gtk-config actually now updates gtk theme to Orion if it's oxygen-gtk previously used and breeze is the theme for Qt because it looks similar to breeze (well.. a little bit).

I think the link to this theme is:  http://github.com/shimmerproject/Orion/
Comment 8 Philipp A. 2015-02-03 08:28:48 UTC
> Before the removal of gtktheming engine, oxygen-gtk2 and oxygen-gtk3 shared ~90%

wow, consider my comment null and void then. i thought hooking into the respective drawing mechanisms would have been a big part, but apparently i’m mistaken.

that sucks big time!
Comment 9 Philipp A. 2015-02-03 08:36:10 UTC
i read it and it sucks even more:

https://bugzilla.gnome.org/show_bug.cgi?id=735211

just… wow.
Comment 10 Martin Klapetek 2015-02-03 09:48:07 UTC
Please let's not turn this into Gnome bashing report.

Thanks
Comment 11 Philipp A. 2015-02-03 10:24:13 UTC
of course not! i initially defended GNOME, as you can see from my first comments.

but judging from that 90% figure hugo gave above, i think that there should be low level theming support in GTK.

i think the GNOME devs might have had a similar misunderstanding as me and might see the need more clearly once shown how much code can actually be shared!
Comment 12 piedro 2015-06-08 14:06:44 UTC
I do not see any reason not to bash gnome... 

From a users perspective this is more than a regression - it's a complete wipe for all the work people have done for using and integrating gnome apps in the KDE environment. 

And I am not just talking about devs - users like me with some impairment on my eyes have also spent many hours (admittedly towards their own benefit...) trying to get a somehow consistent look out of gnome stuff under KDE... 

Now to render all these efforts useless without any compatibility path offering a solutions or even suggestions is a slap in many faces and shows lack of respect for the work of their colleagues and their users. And as I accept the fact that any dev can do as he or she pleases - I on the other hand take the liberty to criticize and bash and call this annoying... 

I think this will lead to not using gnome applications in KDE if not absolutely necessary and it is, at least short term, the end of the idea to choose a desktop environment and then use any application  at will. 

Even more bashing: This has been a segregating decision by the gnome devs and it is harmful in many ways. Though I understand that this is not the place for this discussion and I apologize for bringing it into this thread but on the other hand I think there should be bashing if bashing is due... 

thx for reading, 
piedro 

p.s: I see enough reasons to bash my comments... please feel free to do so - it's relieving!
Comment 13 Martin Klapetek 2015-06-08 14:11:21 UTC
This is a bug report in a bug reporting tool. 

Please refrain from any "bashing" or adding long unrelated comments that do not add any value to the actual bug report; this is not the proper venue for these comments. Use forums and/or your blogpost, but please do not clutter bugzilla with that.

Thank you.

That said, there is a Breeze theme in the works that's nearing completion iiuc.
Comment 14 Steven Roose 2015-06-08 14:14:30 UTC
@Martin
Is there a place where we can follow the advancements on this theme?
Comment 15 Martin Klapetek 2015-06-08 14:17:22 UTC
Yes, I was just looking for it. It's on the KDE forums -- https://forum.kde.org/viewtopic.php?f=285&t=125246

The repos are on github - gtk2: https://github.com/scionicspectre/BreezyGTK and gtk3: https://github.com/dirruk1/gnome-breeze

I don't know how well they work though, might be nice if someone tests it and posts back here.
Comment 16 piedro 2015-06-08 14:31:33 UTC
I apologize. 

thx for the hint on the Breeze theme, 
p.
Comment 17 piedro 2015-06-08 16:00:17 UTC
I downloaded the GIT themes and tested, well, checked out whether they work... 

This looks promising. Though obviously incomplete, colors are alright (void of any individual adjustments - but I guess that's expected...) 

Though starting Gnome Mplayer, the UI is converted - it's white fonts on black canvas ... 

I wonder whether these additional themes are the right concept in the long run. KDE has extensive individual theme customization options and I think it's not very attrative to customize your theme if the changes are only applied to native KDE applications. 

Changes in the color scheme should be picked up by non KDE applications via a kind of theme translation engine or by using a kind of chameleon theme for gtk apps. 

Otherwise if I decide I do not want white fonts on highlighted items (I think the idea of switching highlighted text from black font to white font is a very bad idea!) and I set the highlight color a little lighter so I can have a readable dark font with that... if I go through the effort to do that I never want to repeat all these steps for gtk2, gtk3 or other themes... 
   
So, testing the breeze-gtk themes results in similar looking gtk apps without theme customizations and still some bugs like small fonts in dropdown list selectors or selection boxes. But it's a good start I guess... 

thx, piedro
Comment 18 David Edmundson 2015-11-29 23:45:20 UTC
In 5.5