-
-
Notifications
You must be signed in to change notification settings - Fork 78
WALLPAPER
Pick a wallpaper and the entire desktop follows. Colors propagate to the shell, GTK apps, terminals, Firefox, Discord, VS Code, and the SDDM login screen.
From the shell: open the wallpaper selector (Super+W or through Settings) and browse your filesystem. Click a wallpaper to apply it. The color pipeline runs automatically.
From Settings: Appearance section lets you configure wallpaper behavior, blur, and auto-cycling.
Image selected
|
switchwall.sh (orchestrator)
|
generate_colors_material.py
- Extracts dominant colors from the image
- Generates a full Material 3 palette (50+ color tokens)
- Writes colors.json
|
applycolor.sh (runs per-app theming modules in parallel)
- GTK 3/4 themes
- Terminal configs (foot, kitty, alacritty)
- Starship prompt
- Fuzzel launcher
- Firefox (pywalfox)
- VS Code, Cursor, OpenCode (Go generators)
- btop, lazygit, yazi
- SDDM login theme
- Discord/Vesktop
|
MaterialThemeLoader (QML, watches colors.json)
|
Appearance tokens update --> Every UI component re-renders
The whole pipeline takes 2-3 seconds. The shell updates immediately when colors.json changes. External apps update within a few seconds as their configs are rewritten.
Images: jpg, jpeg, png, webp, avif, gif, bmp, tiff, jxl
Video: mp4, webm, mkv, avi, mov. The first frame is extracted for color generation. Video plays as a live wallpaper with optional blur.
Each monitor can have its own wallpaper. Configure per-monitor wallpapers in Settings under Appearance > Background > Multi-monitor.
Per-monitor config includes:
- Wallpaper path
- Optional workspace range (for Niri's scrolling workspaces)
- Optional backdrop path (for glass blur effects in Aurora/Angel styles)
Video files play as live wallpapers. First frame is automatically extracted and cached at ~/.cache/quickshell/video_thumbnails/ for color generation and thumbnail display.
Options:
- Blur: apply blur to the video
- Freeze frame: show only the first frame (saves GPU)
- Loop: video loops continuously
The Aurora and Angel styles use frosted glass effects. The "backdrop" is a separate wallpaper (or the main wallpaper with heavy blur) that renders behind glass surfaces. This lets you have a sharp wallpaper on the desktop and a blurred version showing through transparent panels.
Set an interval and iNiR cycles through wallpapers in a directory automatically. Configurable per-directory with optional color regeneration on each change.
Settings -> Appearance -> Background -> Shuffle wallpapers controls:
- enable/disable automatic shuffle
- interval in minutes
- optional folder override
- whether theme colors regenerate after each shuffle
Leave the folder empty to shuffle inside the current wallpaper directory. Turn color regeneration off if you want the wallpaper to change without repainting GTK, terminals, Discord, SDDM, and the rest of the parade.
The left sidebar includes a Wallhaven browser. Search wallhaven.cc, preview results, and apply wallpapers directly from the shell. Supports NSFW filtering, resolution filtering, and category selection.
46 built-in presets bypass the wallpaper color pipeline entirely and inject predefined color palettes. See Theming Presets.
When a preset is active, changing wallpapers still changes the background image but doesn't regenerate colors. Switch back to "Auto" mode in Settings to restore wallpaper-based theming.
There is no inir wallpapers command. The real IPC target is
wallpaperSelector (see docs/IPC.md):
inir wallpaperSelector toggle # Open/close the wallpaper picker grid
inir wallpaperSelector random # Pick a random wallpaper from the current folderSetting a specific wallpaper by path is done through the picker UI (or the Wallhaven browser), not a raw CLI setter.
iNiR documentation. main is stable. prerelease is development.