-
-
Notifications
You must be signed in to change notification settings - Fork 78
THEMING_PRESETS
46 built-in color presets that bypass wallpaper-based color generation and apply predefined palettes.
Normally, iNiR extracts colors from your wallpaper using Material You. Presets skip that step and inject a complete Material 3 color palette directly. The palette propagates to external apps (GTK, terminals, Firefox, etc.) the same way wallpaper colors do.
Apply presets from Settings > Appearance > Theme, or via IPC:
inir theme setPreset gruvbox-dark
inir theme setPreset catppuccin-mocha
inir theme auto # back to wallpaper-basedWhen a preset is active, changing wallpapers changes the background image but doesn't regenerate colors.
The full, current list of presets lives in modules/common/ThemePresets.qml and drifts as presets are added or renamed. Get the live list instead of trusting a copy here:
grep -oP '^\s*id:\s*"\K[^"]+' modules/common/ThemePresets.qml | grep -vE '^(auto|custom)$'At time of writing there are 46 theme presets (plus the special auto and custom entries), spanning Catppuccin (4 flavors), Gruvbox, Nord, Dracula, Tokyo Night, Kanagawa, Rose Pine, Everforest, Solarized, Monokai, Ayu, the iNiR signature styles (Angel / Angel Light), and many more. Preset IDs are kebab-case (e.g. rose-pine, gruvbox-dark, tokyo-night, one-dark). Use the ID, not a display name, when scripting.
Some presets include metadata that affects more than just colors (all defined per-preset in modules/common/ThemePresets.qml):
-
Rounding scale (
roundingScale): multiplier for corner rounding. Varies widely (e.g. Matrix uses a tighter scale, Zen Garden a softer/larger one). -
Font style (
fontStyle):mono,serif, orsansoverride. Used by many presets (most terminal/retro themes aremono, Angel isserif, etc.). -
Border width (
borderWidthScale): a handful of presets tune border thickness (e.g. Matrix thicker, some lighter).
Don't rely on the exact value for a given preset. Read the preset's meta block in ThemePresets.qml.
Presets can be used as seeds for Material You scheme variants. Instead of using the preset colors directly, the engine generates a full Material 3 scheme from the preset's primary color:
- Tonal Spot: standard Material You mapping
- Expressive: more vibrant secondary/tertiary colors
- Fidelity: stays closer to the source color
- Content: muted, content-focused palette
There's no UI for creating custom presets yet, but you can add them by editing modules/common/ThemePresets.qml. Each preset is a JavaScript object with the full Material 3 color token set.
The easiest way to create a custom preset is to copy an existing one and modify the colors. The token names follow the Material 3 specification.
iNiR documentation. main is stable. prerelease is development.