The Azurra Framework is a handy tool for creating and managing GTK themes.
Author: Elbullazul
Current version: 0.1-alpha
Dependencies
sassc
, or any other up-to-date SCSS parserbash 4
or higher, required for the autogen scriptpython 3.6
or higher, for utils.pyimagemagick
, for asset renderingoptipng
, for PNG compression
Included files:
Azurra
: Source theme you can use to create your own derivative. Find more base themes on the b00merang Azurra repository
example
: This is a plain theme that mirrors the Azurra base theme. You can start by editing this empty example by adding/editing the colors and then importing the widgets you want to customize.
autogen.sh
: This script runs the SASS compiler on the target theme and deploys the rendered file to the target specified in theme.conf. Run ./autogen.sh --help
for more details.
In the example theme, you can find the following folders:
-
assets
: This folder will be copied to the target directory once deployed. Place image and other resources here. -
widgets
: You can copy a widget file from Azurra/widgets here and edit the SASS code to change the ruleset for that particular widget. You have to manually update the import line in_imports.scss
to point towidgets/<WIDGET>
instead.
And the following files:
-
_colors.scss
: The colors used in the rendering process. Edit them and start a generation to see changes. -
_colors_public.scss
: This defines system color names that GNOME uses to render some applications. Modifications to this file are discouraged. -
_common.scss
: This is where the theme structure is defined. It stores global settings and some rules about spacing and rarely used widgets. Modifications to this file are discouraged. -
_functions.scss
: Contains functions to edit colors with GTK's CSS functions. Modifications to this file are discouraged. -
imports.scss
: Points the SASS interpreter as to which files to read. If a file is placed in /widgets but the widget reference is not updated, it will not be included. -
_vars.scss
: Contains variables reused in multiple widget source files. -
gtk.scss
: The file that gets generated to gtk.css. Manages imports and sets various variables for conditional rules -
gtk.css
: The CSS stylesheet that GNOME will read. You should run./autogen.sh example
after any changes you have done before using it. -
theme.conf
: Contains a theme's name, author and target directory. Dynamic versioning is coming in a future release.
More documentation and a tutorial are available on the wiki