Skip to content

THEMING_PRESETS

snowarch edited this page Aug 2, 2026 · 2 revisions

Theming Presets

46 built-in color presets that bypass wallpaper-based color generation and apply predefined palettes.

How presets work

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-based

When a preset is active, changing wallpapers changes the background image but doesn't regenerate colors.

Preset catalog

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.

Preset features

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, or sans override. Used by many presets (most terminal/retro themes are mono, Angel is serif, 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.

Variant system

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

Custom presets

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.

Clone this wiki locally