Looks are a combination of Xresource definitions and associated resources such as wallpapers, GTK themes, and icons that as a whole provide the user with a distinctive user interface, all expressed as a collection of files. The default looks that ship with Regolith are natural starting points for creating new ones, but it's also possible to start from scratch as long as the required Xresource entries are defined. Ideally, looks are packaged as Debian packages with all required resources either provided by the look or added as a package dependency. By using the OS packaging system, required files and resources are ensured to be installed and available.
Starting from scratch, the only mandatory file for a Look as a single Xresource definition file. This file must specify entries for Regolith's required values, defined on this page. However, it's recommended to simply copy an existing look as a basis for customization, due to the compositional nature that Looks use.
Suggested File Layout
It is suggested that a look be installed in
/etc/regolith/styles/<look name> and that the primary (or only) Xresource file is named
root. Existing Regolith Looks decompose the Xresources into types of resources and any config specific to a UI component. For example the Cahuella Look provides definitions for GNOME (theme), color, and typeface and a specific theme for Rofi since it's configuration cannot be completely expressed via Xresource key/value pairs:
$ find /etc/regolith/styles/cahuella -type f /etc/regolith/styles/cahuella/theme /etc/regolith/styles/cahuella/color /etc/regolith/styles/cahuella/typeface /etc/regolith/styles/cahuella/root /etc/regolith/styles/cahuella/rofi.rasi
When the Regolith session loads upon login, the initialization script looks in a few places for Xresource file definitions. The
regolith-look tool provides the ability for users to change looks by creating an Xresource file that simply redirects to another file via the
#include directive provided by the Xresources subsystem. In this way, a Look is enabled in Regolith by providing this link between a well-known Xresource file entry point to the files specific to the custom Look.
The ideal user experience is to install a look via a package manager tool, and then using the
regolith-look tool to set it. For example:
$ sudo apt install regolith-look-ubuntu $ regolith-look set ubuntu $ regolith-look refresh
In order to achieve this flow, all runtime dependencies (fonts, GTK themes, wallpapers, etc.) must be included in the package or defined as a Debian package dependency in a
debian/control file. See the
regolith-styles package for further information on Debian metadata. If you're new to Debian packaging, here is an introduction.
Once you have a Look ready for testing, copy the containing directory for your files into
/etc/regolith/styles, for example for a Look called
orange, you may have this file layout:
/etc/regolith/styles/orange/theme /etc/regolith/styles/orange/color /etc/regolith/styles/orange/typeface /etc/regolith/styles/orange/root /etc/regolith/styles/orange/rofi.rasi
regolith-look set orange && regolith-look refresh. The UI should be updated with your new look.
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.