D17154: Go back to SCSS
Alexander Kernozhitsky
noreply at phabricator.kde.org
Sun Nov 25 12:38:55 GMT 2018
gepardo created this revision.
Herald added a project: Plasma.
Herald added a subscriber: plasma-devel.
gepardo requested review of this revision.
REVISION SUMMARY
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.
REPOSITORY
R98 Breeze for Gtk
BRANCH
breeze-gtk-sass (branched from master)
REVISION DETAIL
https://phabricator.kde.org/D17154
AFFECTED FILES
Breeze-dark-gtk/gtk-2.0/widgets/default
Breeze-dark-gtk/gtk-2.0/widgets/scrollbar
Breeze-dark-gtk/gtk-3.0/gtk.css
Breeze-dark-gtk/gtk-3.18/gtk.css
Breeze-dark-gtk/gtk-3.20/gtk.css
Breeze-gtk/assets/arrow-down-insensitive.png
Breeze-gtk/assets/arrow-down.png
Breeze-gtk/assets/arrow-left-insensitive.png
Breeze-gtk/assets/arrow-left.png
Breeze-gtk/assets/arrow-right-insensitive.png
Breeze-gtk/assets/arrow-right.png
Breeze-gtk/assets/arrow-small-down-insensitive.png
Breeze-gtk/assets/arrow-small-down.png
Breeze-gtk/assets/arrow-small-left-insensitive.png
Breeze-gtk/assets/arrow-small-left.png
Breeze-gtk/assets/arrow-small-right-insensitive.png
Breeze-gtk/assets/arrow-small-right.png
Breeze-gtk/assets/arrow-small-up-insensitive.png
Breeze-gtk/assets/arrow-small-up.png
Breeze-gtk/assets/arrow-up-insensitive.png
Breeze-gtk/assets/arrow-up.png
Breeze-gtk/assets/button-insensitive.png
Breeze-gtk/assets/button.png
Breeze-gtk/assets/check-checked-backdrop-insensitive.png
Breeze-gtk/assets/check-checked-backdrop-insensitive at 2.png
Breeze-gtk/assets/check-checked-backdrop.png
Breeze-gtk/assets/check-checked-backdrop at 2.png
Breeze-gtk/assets/check-checked-insensitive.png
Breeze-gtk/assets/check-checked-insensitive at 2.png
Breeze-gtk/assets/check-mixed-backdrop-insensitive.png
Breeze-gtk/assets/check-mixed-backdrop-insensitive at 2.png
Breeze-gtk/assets/check-mixed-backdrop.png
Breeze-gtk/assets/check-mixed-backdrop at 2.png
Breeze-gtk/assets/check-mixed-insensitive.png
Breeze-gtk/assets/check-mixed-insensitive at 2.png
Breeze-gtk/assets/check-selectionmode-checked-backdrop-insensitive.png
Breeze-gtk/assets/check-selectionmode-checked-backdrop-insensitive at 2.png
Breeze-gtk/assets/check-selectionmode-checked-backdrop.png
Breeze-gtk/assets/check-selectionmode-checked-backdrop at 2.png
Breeze-gtk/assets/check-selectionmode-checked-insensitive.png
Breeze-gtk/assets/check-selectionmode-checked-insensitive at 2.png
Breeze-gtk/assets/check-selectionmode-unchecked-backdrop-insensitive.png
Breeze-gtk/assets/check-selectionmode-unchecked-backdrop-insensitive at 2.png
Breeze-gtk/assets/check-selectionmode-unchecked-backdrop.png
Breeze-gtk/assets/check-selectionmode-unchecked-backdrop at 2.png
Breeze-gtk/assets/check-selectionmode-unchecked-insensitive.png
Breeze-gtk/assets/check-selectionmode-unchecked-insensitive at 2.png
Breeze-gtk/assets/check-selectionmode-unchecked.png
Breeze-gtk/assets/check-selectionmode-unchecked at 2.png
Breeze-gtk/assets/check-unchecked-backdrop-insensitive.png
Breeze-gtk/assets/check-unchecked-backdrop-insensitive at 2.png
Breeze-gtk/assets/check-unchecked-backdrop.png
Breeze-gtk/assets/check-unchecked-backdrop at 2.png
Breeze-gtk/assets/check-unchecked-insensitive.png
Breeze-gtk/assets/check-unchecked-insensitive at 2.png
Breeze-gtk/assets/check-unchecked.png
Breeze-gtk/assets/check-unchecked at 2.png
Breeze-gtk/assets/combo-entry-button-insensitive.png
Breeze-gtk/assets/combo-entry-button.png
Breeze-gtk/assets/combo-entry-insensitive.png
Breeze-gtk/assets/combo-entry.png
Breeze-gtk/assets/entry-insensitive.png
Breeze-gtk/assets/entry.png
Breeze-gtk/assets/frame-gap-end.png
Breeze-gtk/assets/frame-gap-start.png
Breeze-gtk/assets/frame.png
Breeze-gtk/assets/line-h.png
Breeze-gtk/assets/line-v.png
Breeze-gtk/assets/menu-arrow-insensitive.png
Breeze-gtk/assets/menu-arrow-selected.png
Breeze-gtk/assets/menu-arrow.png
Breeze-gtk/assets/notebook-frame-bottom.png
Breeze-gtk/assets/notebook-frame-right.png
Breeze-gtk/assets/notebook-frame-top.png
Breeze-gtk/assets/progressbar-trough.png
Breeze-gtk/assets/radio-checked-backdrop-insensitive.png
Breeze-gtk/assets/radio-checked-backdrop-insensitive at 2.png
Breeze-gtk/assets/radio-checked-backdrop.png
Breeze-gtk/assets/radio-checked-backdrop at 2.png
Breeze-gtk/assets/radio-checked-insensitive.png
Breeze-gtk/assets/radio-checked-insensitive at 2.png
Breeze-gtk/assets/radio-mixed-backdrop-insensitive.png
Breeze-gtk/assets/radio-mixed-backdrop-insensitive at 2.png
Breeze-gtk/assets/radio-mixed-backdrop.png
Breeze-gtk/assets/radio-mixed-backdrop at 2.png
Breeze-gtk/assets/radio-mixed-insensitive.png
Breeze-gtk/assets/radio-mixed-insensitive at 2.png
Breeze-gtk/assets/radio-unchecked-backdrop-insensitive.png
Breeze-gtk/assets/radio-unchecked-backdrop-insensitive at 2.png
Breeze-gtk/assets/radio-unchecked-backdrop.png
Breeze-gtk/assets/radio-unchecked-backdrop at 2.png
Breeze-gtk/assets/radio-unchecked-insensitive.png
Breeze-gtk/assets/radio-unchecked-insensitive at 2.png
Breeze-gtk/assets/radio-unchecked.png
Breeze-gtk/assets/radio-unchecked at 2.png
Breeze-gtk/assets/scale-slider-insensitive.png
Breeze-gtk/assets/scale-slider.png
Breeze-gtk/assets/scale-trough-horizontal.png
Breeze-gtk/assets/scale-trough-vertical.png
Breeze-gtk/assets/scrollbar-trough-horizontal.png
Breeze-gtk/assets/scrollbar-trough-horizontal at 2.png
Breeze-gtk/assets/scrollbar-trough-vertical.png
Breeze-gtk/assets/scrollbar-trough-vertical at 2.png
Breeze-gtk/assets/spinbutton-down-insensitive.png
Breeze-gtk/assets/spinbutton-down-rtl-insensitive.png
Breeze-gtk/assets/spinbutton-down-rtl.png
Breeze-gtk/assets/spinbutton-down.png
Breeze-gtk/assets/spinbutton-up-insensitive.png
Breeze-gtk/assets/spinbutton-up-rtl-insensitive.png
Breeze-gtk/assets/spinbutton-up-rtl.png
Breeze-gtk/assets/spinbutton-up.png
Breeze-gtk/assets/tab-bottom-active.png
Breeze-gtk/assets/tab-bottom-inactive.png
Breeze-gtk/assets/tab-left-active.png
Breeze-gtk/assets/tab-left-inactive.png
Breeze-gtk/assets/tab-right-active.png
Breeze-gtk/assets/tab-right-inactive.png
Breeze-gtk/assets/tab-top-active.png
Breeze-gtk/assets/tab-top-inactive.png
Breeze-gtk/assets/titlebutton-close-backdrop.png
Breeze-gtk/assets/titlebutton-close-backdrop at 2.png
Breeze-gtk/assets/titlebutton-close.png
Breeze-gtk/assets/titlebutton-close at 2.png
Breeze-gtk/assets/titlebutton-maximize-active-backdrop.png
Breeze-gtk/assets/titlebutton-maximize-active-backdrop at 2.png
Breeze-gtk/assets/titlebutton-maximize-active.png
Breeze-gtk/assets/titlebutton-maximize-active at 2.png
Breeze-gtk/assets/titlebutton-maximize-backdrop.png
Breeze-gtk/assets/titlebutton-maximize-backdrop at 2.png
Breeze-gtk/assets/titlebutton-maximize-hover-backdrop.png
Breeze-gtk/assets/titlebutton-maximize-hover-backdrop at 2.png
Breeze-gtk/assets/titlebutton-maximize-hover.png
Breeze-gtk/assets/titlebutton-maximize-hover at 2.png
Breeze-gtk/assets/titlebutton-maximize-maximized-active-backdrop.png
Breeze-gtk/assets/titlebutton-maximize-maximized-active-backdrop at 2.png
Breeze-gtk/assets/titlebutton-maximize-maximized-active.png
Breeze-gtk/assets/titlebutton-maximize-maximized-active at 2.png
Breeze-gtk/assets/titlebutton-maximize-maximized-backdrop.png
Breeze-gtk/assets/titlebutton-maximize-maximized-backdrop at 2.png
Breeze-gtk/assets/titlebutton-maximize-maximized-hover-backdrop.png
Breeze-gtk/assets/titlebutton-maximize-maximized-hover-backdrop at 2.png
Breeze-gtk/assets/titlebutton-maximize-maximized-hover.png
Breeze-gtk/assets/titlebutton-maximize-maximized-hover at 2.png
Breeze-gtk/assets/titlebutton-maximize-maximized.png
Breeze-gtk/assets/titlebutton-maximize-maximized at 2.png
Breeze-gtk/assets/titlebutton-maximize.png
Breeze-gtk/assets/titlebutton-maximize at 2.png
Breeze-gtk/assets/titlebutton-minimize-active-backdrop.png
Breeze-gtk/assets/titlebutton-minimize-active-backdrop at 2.png
Breeze-gtk/assets/titlebutton-minimize-active.png
Breeze-gtk/assets/titlebutton-minimize-active at 2.png
Breeze-gtk/assets/titlebutton-minimize-backdrop.png
Breeze-gtk/assets/titlebutton-minimize-backdrop at 2.png
Breeze-gtk/assets/titlebutton-minimize-hover-backdrop.png
Breeze-gtk/assets/titlebutton-minimize-hover-backdrop at 2.png
Breeze-gtk/assets/titlebutton-minimize-hover.png
Breeze-gtk/assets/titlebutton-minimize-hover at 2.png
Breeze-gtk/assets/titlebutton-minimize.png
Breeze-gtk/assets/titlebutton-minimize at 2.png
Breeze-gtk/assets/togglebutton-insensitive.png
Breeze-gtk/assets/togglebutton.png
Breeze-gtk/assets/toolbutton-toggled.png
Breeze-gtk/assets/tree-header.png
Breeze-gtk/gtk-2.0/gtkrc
Breeze-gtk/gtk-2.0/widgets/default
Breeze-gtk/gtk-3.0/gtk.css
Breeze-gtk/gtk-3.18/gtk-dark.css
Breeze-gtk/gtk-3.18/gtk.css
Breeze-gtk/gtk-3.20/common.css
Breeze-gtk/gtk-3.20/gtk-dark.css
Breeze-gtk/gtk-3.20/gtk.css
TODO
generate_theme.py
rebuild-theme.sh
src/_colors.scss
src/_functions.scss
src/_global.scss
src/build_theme.sh
src/gtk2/gtkrc
src/gtk2/widgets/buttons
src/gtk2/widgets/default
src/gtk2/widgets/entry
src/gtk2/widgets/menu
src/gtk2/widgets/misc
src/gtk2/widgets/notebook
src/gtk2/widgets/progressbar
src/gtk2/widgets/range
src/gtk2/widgets/scrollbar
src/gtk2/widgets/styles
src/gtk2/widgets/toolbar
src/gtk318/gtk.scss
src/gtk318/widgets/_app_notifications.scss
src/gtk318/widgets/_base.scss
src/gtk318/widgets/_button.scss
src/gtk318/widgets/_calendar.scss
src/gtk318/widgets/_checkboxes.scss
src/gtk318/widgets/_color_chooser.scss
src/gtk318/widgets/_dialogs.scss
src/gtk318/widgets/_entry.scss
src/gtk318/widgets/_headerbar.scss
src/gtk318/widgets/_infobar.scss
src/gtk318/widgets/_link.scss
src/gtk318/widgets/_lists.scss
src/gtk318/widgets/_menus.scss
src/gtk318/widgets/_misc.scss
src/gtk318/widgets/_notebook.scss
src/gtk318/widgets/_overshoot.scss
src/gtk318/widgets/_pathbar.scss
src/gtk318/widgets/_progressbar.scss
src/gtk318/widgets/_scale.scss
src/gtk318/widgets/_scrollbar.scss
src/gtk318/widgets/_sidebar.scss
src/gtk318/widgets/_spinbutton.scss
src/gtk318/widgets/_switch.scss
src/gtk318/widgets/_toolbar.scss
src/gtk318/widgets/_tooltips.scss
src/gtk318/widgets/_treeview.scss
src/gtk318/widgets/_window_decorations.scss
src/gtk320/gtk.scss
src/gtk320/widgets/_app_notifications.scss
src/gtk320/widgets/_base.scss
src/gtk320/widgets/_button.scss
src/gtk320/widgets/_calendar.scss
src/gtk320/widgets/_checkboxes.scss
src/gtk320/widgets/_color_chooser.scss
src/gtk320/widgets/_dialogs.scss
src/gtk320/widgets/_entry.scss
src/gtk320/widgets/_headerbar.scss
src/gtk320/widgets/_infobar.scss
src/gtk320/widgets/_link.scss
src/gtk320/widgets/_lists.scss
src/gtk320/widgets/_menus.scss
src/gtk320/widgets/_misc.scss
src/gtk320/widgets/_notebook.scss
src/gtk320/widgets/_overshoot.scss
src/gtk320/widgets/_pathbar.scss
src/gtk320/widgets/_progressbar.scss
src/gtk320/widgets/_scale.scss
src/gtk320/widgets/_scrollbar.scss
src/gtk320/widgets/_sidebar.scss
src/gtk320/widgets/_spinbutton.scss
src/gtk320/widgets/_switch.scss
src/gtk320/widgets/_toolbar.scss
src/gtk320/widgets/_tooltips.scss
src/gtk320/widgets/_treeview.scss
src/gtk320/widgets/_window_decorations.scss
src/render_assets.py
To: gepardo
Cc: plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20181125/39f70874/attachment-0001.html>
More information about the Plasma-devel
mailing list