Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Noro18/linux-ricing-dotfiles/llms.txt

Use this file to discover all available pages before exploring further.

When you set a new wallpaper, a chain of scripts and tools runs automatically to regenerate every color file used by the desktop. The whole process takes a few seconds — by the time the swww transition animation completes, Matugen and Wallust have already written fresh color tokens to every component’s config directory.

Pipeline diagram

The diagram below shows how the wallpaper image fans out through Matugen and Wallust to reach each component:
[Wallpaper Image]

       ├──▶ matugen ──▶ Material You palette
       │                    │
       │         ┌──────────┼──────────────┐
       │         ▼          ▼              ▼
       │      Waybar      Rofi          Swaync
       │   colors.css   colors-        colors-
       │               matugen.rasi   swaync.css

       └──▶ wallust ──▶ Terminal palette

                 ┌──────────┼──────────┐
                 ▼          ▼          ▼
              Waybar      Kitty     Hyprland
          colors-waybar  (cache)   colors/
              .css

Step-by-step flow

1

Wallpaper selection

Press Super + W to open wallset, a Rofi-based wallpaper picker that lets you choose an image from ~/.config/wallpapers/. After you select an image, wallset calls wallset-backend with the chosen file path.Alternatively, press Super + Shift + R to trigger wallset-backend-startup directly, which picks a random wallpaper from the same directory (avoiding the last-used image) and runs the full pipeline without opening a picker.
2

swww sets the wallpaper

wallset-backend calls swww img with the selected file, producing an immediate visual update on the desktop. The transition is configurable — the relevant arguments are in both ~/.local/bin/wallset-backend and ~/.local/bin/wallset-backend-startup:
swww img "$FILE" \
  --transition-type any \
  --transition-duration 1.4 \
  --transition-fps 60 \
  --transition-step 50
Change --transition-type, --transition-duration, or --transition-fps in those scripts to adjust the animation to your preference.
3

Matugen generates a Material You palette

matugen image "$FILE" reads the wallpaper, derives a Material You color scheme, and fills every template defined in ~/.config/matugen/config.toml. The rendered files are written to:
Output fileUsed by
~/.config/waybar/colors.cssWaybar
~/.config/rofi/colors/colors-matugen.rasiRofi (all launchers and applets)
~/.config/swaync/colors-swaync.cssSwayNC
~/.config/hypr/colors/colors.confHyprland
~/.config/kitty/colors/colors.confKitty (static alternative; active colors via wallust)
~/.config/btop/themes/matugen.themebtop
~/.config/starship.tomlStarship shell prompt
~/.config/gtk-3.0/colors.cssGTK 3 apps
~/.config/gtk-4.0/colors.cssGTK 4 apps
4

Wallust generates a terminal palette

wallust run "$FILE" reads the wallpaper and fills the templates defined in ~/.config/wallust/wallust.toml. The output covers the terminal and editor layer:
Output fileUsed by
~/.config/waybar/colors-waybar.cssWaybar (raw palette variables)
~/.config/swaync/colors.cssSwayNC (via the shared waybar template)
~/.cache/wallust/colors-kitty.confKitty terminal
~/.config/rofi/colors/colors-wallust.rasiRofi (wallust palette variant)
~/.cache/wallust/colors.jsonVS Code / Cursor (Wallust extension)
~/.cache/wallust/colorsVS Code / Cursor (Wallust extension, alternate format)
~/.cache/wallust/colors_neopywal.vimNeovim (via neopywal)
5

Components reload

After both generators finish, wallset-backend signals components to pick up the new colors:
  • SwayNC reloads via swaync-client -rs
  • Waybar picks up the new CSS variables on its next reload signal
  • Hyprland reloads its color config via the post_hook = 'hyprctl reload' defined in matugen config.toml
  • Kitty, Rofi, and other components that read their files at launch will apply the new colors on the next time they open

Startup vs manual flow

On every login, Hyprland runs wallset-backend-startup via an exec-once entry. This script builds (or validates) a cached list of wallpapers, picks a random image that differs from the last used one, runs the full pipeline, and saves the chosen path to ~/.cache/last_wallpaper so the next startup can avoid repeating it. The manual flow — Super + Wwallsetwallset-backend — is identical except that you choose the image yourself rather than having one selected at random. In both cases the same sequence runs: swww → Matugen → Wallust → component reload.
To learn how to change what colors are generated or to add a new component to the pipeline, see Customize the theming pipeline templates.

Build docs developers (and LLMs) love