How Do I open a gresource file
I am attempting to edit the adwaita theme, the only way to do this is to open the gtk.gresource
file.
gedit
will not open the file, geany
will not open the file.
How do I open the file so I can edit gtk.css
?
Solution 1:
since some time, GTK-3 theme CSS files are precompiled into a binary format (*.gresource
) and installed as a bundle. There is a helper program called gresource to deal with these files
- usually, it is installed alongside with the library GLib
- thus it should be in the package
libglib2.0-bin
- and since this package is usually already installed, you'll find it in your
/usr/bin
and get more documentation by invokingman gresource
In short
-
to list the contents of a
*.gresource
file:gresource list gtk.gresource
-
to extract a specific resource from it:
gresource extract gtk.gresource /org/gnome/adwaita/gtk-main.css
Basically, this allows you to get the contents of the original Theme extracted. You could make a conventional Theme (with discrete CSS files) from the extracted resources. The key point to note for this is that you have to change the entry point in the top level gtk-3.0/gtk.css
file within your theme. In binary themes, you'll find there a URL reference
@import url("resource:///org/gnome/THEMENAME/gtk-main.css");
You need to change this reference to point to your locally installed files
@import url("gtk-main.css");
If you want to compile a new binary bundle from a theme you edited in discrete CSS files, see this Blog post from 2012 by Satyajit Sahoo