Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement automatic precompilation of the theme #656

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Implement automatic precompilation of the theme #656

wants to merge 1 commit into from

Conversation

andresclari
Copy link

Following the path of Adwaita, this commit implements the automation to
automatically precompile the GTK3 theme versions to gresource binary
files, to improve performance of theme rendering, and avoid unnecessary
re-read and re-parsing of the theme on every app run.

Given that the theme is coded in sass to begin with directly altering it
is not a reasonable thing to do, and so we don't loose anything by
having the installed theme in binary form, specially when accessing the
sources is easy enough.

Following the path of Adwaita, this commit implements the automation to
automatically precompile the GTK3 theme versions to gresource binary
files, to improve performance of theme rendering, and avoid unnecessary
re-read and re-parsing of the theme on every app run.

Given that the theme is coded in sass to begin with directly altering it
is not a reasonable thing to do, and so we don't loose anything by
having the installed theme in binary form, specially when accessing the
sources is easy enough.
fossfreedom referenced this pull request in arc-design/arc-theme Nov 27, 2017
Following the path of Adwaita, this commit implements the automation to
automatically precompile the GTK3 theme versions to gresource binary
files, to improve performance of theme rendering, and avoid unnecessary
re-read and re-parsing of the theme on every app run.
.
Given that the theme is coded in sass to begin with directly altering it
is not a reasonable thing to do, and so we don't loose anything by
having the installed theme in binary form, specially when accessing the
sources is easy enough.
.
The takes #656 and adds to this proposed commit and ensures that
precompilation works for both GTK+3.18 and later GTK+ versions
@fossfreedom
Copy link

@andresclari this appears to break Arc-Dark - any thoughts what is the issue? GTK+3.26

ubuntu budgie - new development artful running - oracle vm virtualbox_731

@NicoHood
Copy link

NicoHood commented Jan 8, 2018

@fossfreedom Does this arc-design/arc-theme#19 replace this PR now?

@fossfreedom
Copy link

@NicoHood yes and no...

so sassc enables the theme to generate the necessary CSS when building.

This PR converts that CSS into the more efficient gresources format - so apps load and display faster.

@ghost
Copy link

ghost commented Jan 10, 2018

@fossfreedom do you have to manually generate the css or gtk+ will do it for you https://github.com/GNOME/gtk/tree/master/gtk/theme/Adwaita

screenshot from 2018-01-10 13-45-47

@fossfreedom
Copy link

fossfreedom commented Jan 10, 2018

In the current theme you need to use the HACKING.md instructions to generate the CSS from the .scss changes.
We will be releasing an update very shortly where you no longer need to use nvm/npm and gulp - just install and the CSS will be generated automatically.

@NicoHood
Copy link

Is the speed difference measurable? This sounds like a very good idea anyways. Lets import this issue:
arc-design/arc-theme#28

jnsh pushed a commit to jnsh/arc-theme that referenced this pull request Mar 25, 2019
… of Adwaita, this commit implements the automation to automatically precompile the GTK3 theme versions to gresource binary files, to improve performance of theme rendering, and avoid unnecessary re-read and re-parsing of the theme on every app run. . Given that the theme is coded in sass to begin with directly altering it is not a reasonable thing to do, and so we don't loose anything by having the installed theme in binary form, specially when accessing the sources is easy enough. . The takes horst3180#656 and adds to this proposed commit and ensures that precompilation works for both GTK+3.18 and later GTK+ versions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants