Override Xresources
Regolith relies on the Xresources system to provide a consolidated interface configuration. By changing Xresources
values, Regolith can be customized in ways such as updating the user interface, specifying custom behaviors, or defining a specific format for some of the blocklets on the bar.
In Regolith, Xresources
values can be changed via two methods: supplying your own Xresources
files, and overriding the existing Xresources
values. The latter approach is strongly recommended, as it makes upgrading to newer versions of Regolith less likely to break your customizations. If you copy the Xresources
tree completely you’ll need to integrate any breaking changes in future versions manually.
Initialization
When a Regolith session is started, Xresources are loaded in the following order:
File | Optional | Notes |
---|---|---|
~/.Xresources | Y | Intended for non-Regolith settings |
~/.Xresources-regolith | Y | A global override to replace all Regolith settings |
/etc/regolith/styles/root | N | The default Regolith Xresources file if ~/.Xresources-regolith does not exist |
~/.config/regolith/Xresources | Y | Applies specific overrides to Xresources defaults |
It is recommended to use ~/.config/regolith/Xresources
for customization as it doesn’t require the specification of redundant settings and is easier to maintain over time.
Determining which values can be changed
The xrdb
tool can be used to list the existing Xresources
values. There is a number of existing overrides in the R1.4.1 release:
$ xrdb -query
[...]
gnome.icon.theme: Moka
gnome.terminal.font: JetBrains Mono 12
gnome.terminal.scrollbar: never
gnome.wallpaper: /usr/share/backgrounds/ESP_016895_1525_desktop.jpg
gnome.wm.theme: Ayu-Mirage-Dark
[...]
Examples
Note that the commands presented below append text to a file, so running the command more than once will result in duplicate entires.
Example - Update the UI for High DPI Screens
By using the ~/.config/regolith/Xresources
override file, we will only need to specify the values we wish to change. The xrdb
tool can be used to determine what current values are set to.
- Create or add the following value to your
~/.config/regolith/Xresources
file:
Xft.dpi: 192
- Reload the
Xresources
configuration:
$ regolith-look refresh
- Open a new terminal to see the change take effect.
192
is just an example value, please adjust as needed.
Example - Change i3 bar position
$ xrdb -query | grep position
i3-wm.bar.position: bottom
$ echo "i3-wm.bar.position: top" >> ~/.config/regolith/Xresources
$ regolith-look refresh
Example - Change GTK Theme
$ xrdb -query | grep gtk
gnome.gtk.theme: Ayu-Mirage-Dark
$ echo "gnome.gtk.theme: Adwaita" >> ~/.config/regolith/Xresources
$ regolith-look refresh
Example - Disable the System Tray
$ echo "i3-wm.bar.trayoutput: none" >> ~/.config/regolith/Xresources
$ regolith-look refresh
Example - Use Alt instead of Win as Super
$ echo "i3-wm.mod: Mod1" >> ~/.config/regolith/Xresources
$ echo "i3-wm.alt: Mod4" >> ~/.config/regolith/Xresources
Then Reload i3 for the change to take effect (on Regolith 1.5+ there is an active regression here with a temporary fix in the issue)
Example - Launch nm-applet
when i3 starts
Some users prefer to use the nm-applet
program to configure and manage their wireless network (from Regolith 1.5 onwards nm-applet
is run by default in the background). i3 config file can be updated to launch any arbitrary program at start time. But, rather than copying the whole file, we can supply up to 3 programs via Xresources without having to change the i3 config file. For this to work, also make sure that the system tray is enabled (see above).
$ echo "i3-wm.program.1: /usr/bin/nm-applet" >> ~/.config/regolith/Xresources
This change requires you to log back in before the change takes effect.
Further Reading
See the reference page for configurations for more details about config files in Regolith.
Feedback
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.