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-insensit...@2.png
  Breeze-gtk/assets/check-checked-backdrop.png
  Breeze-gtk/assets/check-checked-backd...@2.png
  Breeze-gtk/assets/check-checked-insensitive.png
  Breeze-gtk/assets/check-checked-insensit...@2.png
  Breeze-gtk/assets/check-mixed-backdrop-insensitive.png
  Breeze-gtk/assets/check-mixed-backdrop-insensit...@2.png
  Breeze-gtk/assets/check-mixed-backdrop.png
  Breeze-gtk/assets/check-mixed-backd...@2.png
  Breeze-gtk/assets/check-mixed-insensitive.png
  Breeze-gtk/assets/check-mixed-insensit...@2.png
  Breeze-gtk/assets/check-selectionmode-checked-backdrop-insensitive.png
  Breeze-gtk/assets/check-selectionmode-checked-backdrop-insensit...@2.png
  Breeze-gtk/assets/check-selectionmode-checked-backdrop.png
  Breeze-gtk/assets/check-selectionmode-checked-backd...@2.png
  Breeze-gtk/assets/check-selectionmode-checked-insensitive.png
  Breeze-gtk/assets/check-selectionmode-checked-insensit...@2.png
  Breeze-gtk/assets/check-selectionmode-unchecked-backdrop-insensitive.png
  Breeze-gtk/assets/check-selectionmode-unchecked-backdrop-insensit...@2.png
  Breeze-gtk/assets/check-selectionmode-unchecked-backdrop.png
  Breeze-gtk/assets/check-selectionmode-unchecked-backd...@2.png
  Breeze-gtk/assets/check-selectionmode-unchecked-insensitive.png
  Breeze-gtk/assets/check-selectionmode-unchecked-insensit...@2.png
  Breeze-gtk/assets/check-selectionmode-unchecked.png
  Breeze-gtk/assets/check-selectionmode-unchec...@2.png
  Breeze-gtk/assets/check-unchecked-backdrop-insensitive.png
  Breeze-gtk/assets/check-unchecked-backdrop-insensit...@2.png
  Breeze-gtk/assets/check-unchecked-backdrop.png
  Breeze-gtk/assets/check-unchecked-backd...@2.png
  Breeze-gtk/assets/check-unchecked-insensitive.png
  Breeze-gtk/assets/check-unchecked-insensit...@2.png
  Breeze-gtk/assets/check-unchecked.png
  Breeze-gtk/assets/check-unchec...@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-insensit...@2.png
  Breeze-gtk/assets/radio-checked-backdrop.png
  Breeze-gtk/assets/radio-checked-backd...@2.png
  Breeze-gtk/assets/radio-checked-insensitive.png
  Breeze-gtk/assets/radio-checked-insensit...@2.png
  Breeze-gtk/assets/radio-mixed-backdrop-insensitive.png
  Breeze-gtk/assets/radio-mixed-backdrop-insensit...@2.png
  Breeze-gtk/assets/radio-mixed-backdrop.png
  Breeze-gtk/assets/radio-mixed-backd...@2.png
  Breeze-gtk/assets/radio-mixed-insensitive.png
  Breeze-gtk/assets/radio-mixed-insensit...@2.png
  Breeze-gtk/assets/radio-unchecked-backdrop-insensitive.png
  Breeze-gtk/assets/radio-unchecked-backdrop-insensit...@2.png
  Breeze-gtk/assets/radio-unchecked-backdrop.png
  Breeze-gtk/assets/radio-unchecked-backd...@2.png
  Breeze-gtk/assets/radio-unchecked-insensitive.png
  Breeze-gtk/assets/radio-unchecked-insensit...@2.png
  Breeze-gtk/assets/radio-unchecked.png
  Breeze-gtk/assets/radio-unchec...@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-horizon...@2.png
  Breeze-gtk/assets/scrollbar-trough-vertical.png
  Breeze-gtk/assets/scrollbar-trough-verti...@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-backd...@2.png
  Breeze-gtk/assets/titlebutton-close.png
  Breeze-gtk/assets/titlebutton-cl...@2.png
  Breeze-gtk/assets/titlebutton-maximize-active-backdrop.png
  Breeze-gtk/assets/titlebutton-maximize-active-backd...@2.png
  Breeze-gtk/assets/titlebutton-maximize-active.png
  Breeze-gtk/assets/titlebutton-maximize-act...@2.png
  Breeze-gtk/assets/titlebutton-maximize-backdrop.png
  Breeze-gtk/assets/titlebutton-maximize-backd...@2.png
  Breeze-gtk/assets/titlebutton-maximize-hover-backdrop.png
  Breeze-gtk/assets/titlebutton-maximize-hover-backd...@2.png
  Breeze-gtk/assets/titlebutton-maximize-hover.png
  Breeze-gtk/assets/titlebutton-maximize-ho...@2.png
  Breeze-gtk/assets/titlebutton-maximize-maximized-active-backdrop.png
  Breeze-gtk/assets/titlebutton-maximize-maximized-active-backd...@2.png
  Breeze-gtk/assets/titlebutton-maximize-maximized-active.png
  Breeze-gtk/assets/titlebutton-maximize-maximized-act...@2.png
  Breeze-gtk/assets/titlebutton-maximize-maximized-backdrop.png
  Breeze-gtk/assets/titlebutton-maximize-maximized-backd...@2.png
  Breeze-gtk/assets/titlebutton-maximize-maximized-hover-backdrop.png
  Breeze-gtk/assets/titlebutton-maximize-maximized-hover-backd...@2.png
  Breeze-gtk/assets/titlebutton-maximize-maximized-hover.png
  Breeze-gtk/assets/titlebutton-maximize-maximized-ho...@2.png
  Breeze-gtk/assets/titlebutton-maximize-maximized.png
  Breeze-gtk/assets/titlebutton-maximize-maximi...@2.png
  Breeze-gtk/assets/titlebutton-maximize.png
  Breeze-gtk/assets/titlebutton-maxim...@2.png
  Breeze-gtk/assets/titlebutton-minimize-active-backdrop.png
  Breeze-gtk/assets/titlebutton-minimize-active-backd...@2.png
  Breeze-gtk/assets/titlebutton-minimize-active.png
  Breeze-gtk/assets/titlebutton-minimize-act...@2.png
  Breeze-gtk/assets/titlebutton-minimize-backdrop.png
  Breeze-gtk/assets/titlebutton-minimize-backd...@2.png
  Breeze-gtk/assets/titlebutton-minimize-hover-backdrop.png
  Breeze-gtk/assets/titlebutton-minimize-hover-backd...@2.png
  Breeze-gtk/assets/titlebutton-minimize-hover.png
  Breeze-gtk/assets/titlebutton-minimize-ho...@2.png
  Breeze-gtk/assets/titlebutton-minimize.png
  Breeze-gtk/assets/titlebutton-minim...@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

Reply via email to