Go back to SCSS
Needs ReviewPublic

Authored by gepardo on Sun, Nov 25, 12:38 PM.


Group Reviewers

As it was explained in https://phabricator.kde.org/D16365,

Further potential steps in the same direction of saving code would be going back to SASS

This patch tries to go back to SCSS sources with backporting all the fixes made in Breeze-gtk recently. As a base, I used this repository: https://github.com/dirruk1/gnome-breeze. But it's outdated, so I walked through the commit history of breeze-gtk and ported all the changes here. The script for building the theme was ported to Python3, and shell scripts now use POSIX sh instead of bash. Also I fixed some inconsistences between Qt and GTK Breeze themes. For example, Breeze-Qt colorscheme was updated a little (in Plasma 5.12, as far as I remember), but the GTK theme was updated only partially; now the colors are synchronized. Both GTK-3.18 and GTK-3.20 versions work fine for me; many things were also fixed for GTK 3.18.

For building the theme, ruby-sass (or more lightweght sassc) is required. Also the theme can be patched to allow changing the colorscheme in System Settings (though, rebuilding the theme with sassc is required for this). The original repository (https://github.com/dirruk1/gnome-breeze) had also named-colors branch that allowed using named colors and changing the colorscheme without rebuilding; but I couldn't get this working.

Because both Breeze-gtk and Breese-dark-gtk are now built from sources, there will be no more inconsistences between them. Rebuilding these themes can be done using rebuild-theme.sh.

Test Plan

I do not know how to test this automatically. But I am using this version of Breeze-GTK for several months (I am not using many GTK+ applications, though). Also checked it on gtk3-widget-factory; it seems to work fine.

GTK2 version was tested on Gimp, but it is mostly unchanged.

For differences between https://github.com/dirruk1/gnome-breeze and this version, you can see my GitHub repo where I worked on this patch: https://github.com/alex65536/gnome-breeze/tree/breeze-gtk-merge.

Diff Detail

R98 Breeze for Gtk
breeze-gtk-sass (branched from master)
No Linters Available
No Unit Test Coverage
Build Status
Buildable 5356
Build 5374: arc lint + arc unit
gepardo created this revision.Sun, Nov 25, 12:38 PM
Restricted Application added a project: Plasma. · View Herald TranscriptSun, Nov 25, 12:38 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
gepardo requested review of this revision.Sun, Nov 25, 12:38 PM
ngraham added subscribers: jackg, ngraham.

@jackg, if you're around, I'd really appreciate your perspective on this patch. I'm not sure about the history regarding why we moved away from this approach, whether or not it's proved to be a mistake, and if this is the right way to move back.

More generally, if anyone else knows the history here, please speak up.

This patch is not reviewed for two weeks. How soon can I get some feedback on it?