[GTK2] Add program to libexec for GTK2 recoloration
Needs ReviewPublic

Authored by cblack on Mon, Sep 30, 10:22 PM.

Details

Reviewers
None
Group Reviewers
Breeze
Summary

There is now a Python program installed to a distro's libexec dir
which will generate assets based on the user's current colorscheme. This is
needed for complete recolouration because of the fact that most of
the GTK2 theme is pixmaps. Currently, recoloration only recolors the things
that are not pixmaps, which leads to stuff like
https://bugsfiles.kde.org/attachment.cgi?id=122870.

This is one part of the solution to fixing bug 412331, but is not the whole
solution.

CCBUG: 412331

Test Plan

See that the program is installed to libexec and that it generates
GTK2 assets correctly.

Diff Detail

Repository
R98 Breeze for Gtk
Branch
gtk2-recoloration (branched from master)
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 17188
Build 17206: arc lint + arc unit
cblack created this revision.Mon, Sep 30, 10:22 PM
Restricted Application added a project: Plasma. · View Herald TranscriptMon, Sep 30, 10:22 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
cblack requested review of this revision.Mon, Sep 30, 10:22 PM
davidre edited the summary of this revision. (Show Details)Tue, Oct 1, 7:46 AM
ndavis added a subscriber: ndavis.Thu, Oct 3, 1:24 AM

I'm not sure how to verify if the assets have been generated correctly. What GTK2 programs did you test with?

cblack added a comment.Thu, Oct 3, 1:35 AM

I'm not sure how to verify if the assets have been generated correctly. What GTK2 programs did you test with?

Look for a theme in ~/.local/share/themes called Breeze 🎨. The reason why it has a 🎨 is to distinguish it from the system Breeze GTK2 theme. Otherwise,
there'd be two Breeze entries listed in the user's GTK2 theme list in syse5. Yes, it's clunky, but this is a toolkit older than me, so clunkiness is expected.

I would probably add a "if the user has GTK2 theme set to Breeze/Breeze Dark change the GTK2 theme to the recoloured one" but I'm not sure
what direction GTK configuration is heading with that configuration daemon being worked on, so I'd rather not mess with GTK configuration until that's ironed out.

ndavis added a comment.EditedThu, Oct 3, 3:06 AM

I'm not sure how to verify if the assets have been generated correctly. What GTK2 programs did you test with?

Look for a theme in ~/.local/share/themes called Breeze 🎨. The reason why it has a 🎨 is to distinguish it from the system Breeze GTK2 theme. Otherwise,
there'd be two Breeze entries listed in the user's GTK2 theme list in syse5. Yes, it's clunky, but this is a toolkit older than me, so clunkiness is expected.

I would probably add a "if the user has GTK2 theme set to Breeze/Breeze Dark change the GTK2 theme to the recoloured one" but I'm not sure
what direction GTK configuration is heading with that configuration daemon being worked on, so I'd rather not mess with GTK configuration until that's ironed out.

Am I supposed to run this script myself? I did make install and it didn't seem to do anything.

Are you sure the emoji isn't going to be a problem in programs or systems with no emoji support?

cblack added a comment.Thu, Oct 3, 3:09 AM

I'm not sure how to verify if the assets have been generated correctly. What GTK2 programs did you test with?

Look for a theme in ~/.local/share/themes called Breeze 🎨. The reason why it has a 🎨 is to distinguish it from the system Breeze GTK2 theme. Otherwise,
there'd be two Breeze entries listed in the user's GTK2 theme list in syse5. Yes, it's clunky, but this is a toolkit older than me, so clunkiness is expected.

I would probably add a "if the user has GTK2 theme set to Breeze/Breeze Dark change the GTK2 theme to the recoloured one" but I'm not sure
what direction GTK configuration is heading with that configuration daemon being worked on, so I'd rather not mess with GTK configuration until that's ironed out.

Am I supposed to run this script myself? I did make install and it didn't seem to do anything.

Are you sure the emoji isn't going to be a problem in programs or systems with no emoji fonts?

Eh, if you have any better ideas for the name let me know.

As for testing it, you need both this revision and the one I marked it as dependent on. The colors KCM should run the script whenever you apply a colorscheme.