The wallpaper drawn as glyphs, Settings that follow Umbriel, a new iNiR mark, and a first install that asks where iNiR runs.
Added
- Glyph wallpaper: the wallpaper (picture, GIF or video), a word of yours or one of nine built-in subjects drawn as glowing characters that follow light and edges. Sixteen looks (Signal, Theme, Terminal, Matrix, Amber CRT, Blueprint, Halftone, Blocks, Vapor, Glitch, Prism, Thermal, Gold, Kaleido, Newsprint, Typewriter), each one adjustable: character set, size, palette, glow, scanlines, grain, curve, mirror, motion; out of the box they are small and crisp, with a light digit rain, and each new picture is typed in row by row. Clocks and widgets over it stay readable. Off by default: Settings › Wallpaper › Draw the wallpaper as glyphs in Material, iRiS and Waffle, or the glyph switch in the wallpaper picker's head. Light to run: a video under it is decoded only as large and as often as the characters read it, and stops when a word or a subject is drawn instead. A still picture is alive: it sways slowly, breathes rings of light and shimmers, and stops while the desktop is covered, locked, in a game or saving battery; the Overview's backdrop wears it too. Colours are picked from swatches and Restore defaults brings everything back. The Afterglyph widget in the Hub draws what is playing, a picture, a word or a subject the same way, at any size you drag it to. A port of Afterglyph by winchxyz (MIT).
- iRiS Settings follow your compositor: under Niri they show what Niri does; under Umbriel they get their own pages: layouts drawn as pictures, tabs, title bars, compositor blur, effects you press on a drawn desk, hot corners, HDR and colour depth. On a display, drag your screens to where they stand and pick a scale from miniatures of your own screen; a display change can be kept or undone within 15 seconds (Compositors, iRiS 2.33.66 from the Hub).
- Do Not Disturb shows on the Island: a small moon rests on the iRiS Island while Do Not Disturb is on, in every layout, so nobody spends days without notifications unaware (iRiS 2.33.75 from the Hub).
- Workspaces and window width per screen on Umbriel: iRiS Settings › Umbriel › Displays › Workspaces draws each screen's workspaces: press how many it keeps, as needed or fixed, stacked or side by side, looping or not; new windows open at the width you pick from drawn screens, for all screens or one. Displays also gets direct scanout, the curve ordinary colours follow with HDR on, and sharp older apps on a scaled screen (iRiS 2.33.75 from the Hub).
- Material Settings on Umbriel: Material shows Settings › Umbriel when you run Umbriel: screens, workspaces per screen, layouts, borders, tabs, title bars, glass, movement, keyboard, mouse, pointer and hot corners, with Material's own controls (Material 2.35.10 from the Hub).
- More of Umbriel in Settings: free space at each screen edge, dialogs that stay with their window, apps opening maximized, the shortcuts sheet at login; and, only on machines that have them, the screen a drawing tablet or touch screen belongs to, the laptop screen off with the lid closed, and the NVIDIA sync option (iRiS and Material).
- Umbriel's scratchpad in every family: on Umbriel, an app's menu in the Material dock and bar, the iRiS dock and the Waffle taskbar sends its window to the scratchpad or back to its workspace; a hidden one stays in the dock and a click brings it over the workspace in front.
inir scratchpad toggle|send|restore|list, and Mod+` still shows it. - Hub components open from the app launcher: a component with a window of its own is listed by its name in every family's launcher and opens with a click.
- One key for an Island page:
inir iris togglePage desktop(or media, calendar, weather...) opens the Island on that page and closes it when it already shows, for a single keybind (iRiS 2.33.84 from the Hub).
Changed
- A new iNiR mark: one strip folded into an N whose last leg is the i, like Niri's endless row of columns. In each family's About and the welcome it takes your scheme's colours, light or dark; the app icon and the site wear it too.
- A miss sounds like iNiR: a search that finds nothing or a mistyped password sometimes answers in a line of its own instead of the plain one, in every family.
- Widgets share one palette: every iRiS widget takes its colours from the same hues the widget palette picks (wallpaper, system, spectrum or mono) and your highlight; the player no longer wears its cover's colour, and notes, battery, photo, Screen Time, timers and weather no longer bring hues of their own (iRiS 2.33.79 from the Hub).
- Glass you can tune: Glass blur in iRiS Settings › Desktop › Widgets sets how much the glass behind every widget frosts the wallpaper; in Material each widget's Look page has Blur strength under its blur switch.
- Live wallpapers rest while hidden, in every family: videos, GIFs and the glyph wallpaper stop behind a fullscreen app or when windows cover the screen, now also under one large floating window; Settings › Wallpaper › Pause chooses never, behind fullscreen or when covered (the default) in Material and Waffle too, as in iRiS (Material 2.35.11, Waffle 2.34.11 from the Hub).
- Video wallpapers loop without a cut: a little before the end the video blends into its own beginning, so a live wallpaper never jumps back to the start (clips of six seconds or longer, in every family).
- Hub widgets wear iRiS's widget designs: a hub widget on the desktop can be drawn in each design of the family (iRiS, Prism) on the glass and blur every built-in widget shares, instead of a card of its own. The Radio is the first: iRiS, Prism or Material in three sizes, picked on its Look page (Radio 2.3.0 from the Hub).
- Hub widgets get real options: a widget's
widget.jsoncan listoptionswith pages, conditions, colour swatches, a file or folder chooser and its sizes, drawn like the built-in widgets' in every family, with Restore defaults; nobody types a path or a colour code. - One place for your compositor in iRiS Settings: screens, layout, windows, glass and effects, movement, keyboard and mouse now sit together in one group of the sidebar named for the compositor you run (Niri or Umbriel), each on its own page, instead of spread across Windows, Display and Keyboard & Mouse. Nothing changes value; a page shows only what your compositor and your machine can do (iRiS 2.33.74 from the Hub).
- Another shell can stay: setup no longer removes Noctalia, DankMaterialShell, Caelestia or BMS. It offers to (default: keep),
-ykeeps them, and with Umbriel installed iNiR defaults to Niri alone, so each shell keeps its own session. - When GitHub is down, iNiR says so: setup,
inir update,inir doctor, the Hub and the update check name the server that isn't answering (a 504 and the like), with GitHub's status page, instead of red lines that read as iNiR broken. Nothing changes on your system; try again in a while.
Fixed
- Hub widgets answer keybinds:
inir radio toggleand any hub widget's own command reach the running shell, and a widget can keep its commands alive with none of its faces on screen. - Covers follow the player at once: switching players or tracks shows a cover already seen without waiting, a player with no cover of its own no longer keeps the last one's (a browser page's picture under a radio), and a radio station shows its logo.
- Live streams have no timeline to slide: a radio or a live video no longer shows a bar that runs back and forth as the player buffers; every player, the lock and the desktop widget say Live over a full line, with nothing to seek.
- A radio shows in the player from its first second: a station played through mpv was left out of every player when it started with little buffered, and never came back.
- Hub widgets speak your language: a widget's own
translations/folder is read like a plugin's, so its text follows the shell's language instead of staying in English. - Menus match the panel they open from: a dock or bar menu takes that panel’s colour and translucency instead of a solid tint, its wallpaper glass shows the wallpaper under it, and it blurs wherever the panel blurs.
- Menus on Umbriel without a blurred box: Material and Waffle menus no longer sit on a square of blur bigger than the menu; menus blur only with iRiS's compositor glass, shaped like the menu.
- A first install asks what goes in: the install command from the README set up Niri on a new machine without asking; it now opens one short list where you tick where iNiR runs (Niri, or Umbriel too), the login screen and extras. On Fedora, Umbriel comes from Terra, which setup adds when it is missing.
- The keys over a widget answer after you move it: in edit mode, the size and options keys that appear over a widget kept taking clicks where the widget used to be; they follow it now, in iRiS and Material (iRiS 2.33.84, Material 2.35.15 from the Hub).
- Hub widgets in the edit shelf: they sit in their own aisle (Radio under Media) and search finds them by what they do (Material 2.35.14, iRiS 2.33.82 from the Hub).
- Prism Settings reopens where you left it: closing Settings on a long page (Glyph art, under Desktop) no longer brings it back on that page's first group (iRiS 2.33.82 from the Hub).
- Settings no longer freeze the shell: picking the widgets' material, a Style or a Design, or switching between Prism, AIRISU and iRiS stopped the whole shell for one or two seconds; it now applies at once (iRiS 2.33.79 from the Hub).
- Widget options that did nothing: under Prism, the world clock's names and offsets, uptime's start, the date's day of the year, the news' source and time, the agenda's grouping and places, and the month's week start and neighbouring days now change the widget; the month's day names no longer stand a day off its dates. Rows a widget can't use hide (Outline under Prism, which draws its own edge), Rest when paused shows what the player really does, and an On the frame row that changed nothing is gone.
- Widget looks in Material: Background strength now reaches a solid plate at 100 % (past 17 % it changed nothing) and sets how deep the glass is tinted in Aurora and Angel; Blur background shows only in the styles that have glass. The world clock's Time difference, the date's Day of the year and the user card's Computer name now change the widget in every layout that draws them, and the Controls widget lists its tiles only with the iRiS face that draws them (Material 2.35.13, iRiS 2.33.80 from the Hub).
- Recording a region on a second monitor or a scaled screen: the video caught another part of the desktop; it now records what you selected (thanks NsCrosu, #304).
- Waffle's taskbar ignored every click after some starts and reloads; it answers from the first moment (thanks skrblk, #317; Waffle 2.34.11 from the Hub).
- Material widgets wear the plates that fit them: the world clock with one city no longer draws a card inside its plate, and the timers stand on their own card again, as before 3.0.
- Options of Hub widgets: an option picked in a Hub widget's sheet now reaches the widget on the desktop, the Island and Waffle alike; before, some kept showing their first choice (Afterglyph always drew the same subject). Choices already made move to the right place on their own.
- Widget glass over a moving wallpaper: over a video, a GIF or the glyph wallpaper, a widget's glass showed one frozen frame (or the plain picture under the glyphs); it now follows what moves behind it, in Material and iRiS (iRiS 2.33.77 from the Hub).
- A YouTube cover no longer looks blurred in the player: the shell asks for the large picture of the video instead of the small thumbnail the browser hands over.
- A frozen shell says where: when the shell stops answering and is restarted, it now leaves in 6 seconds instead of 15 and writes what it was doing to
inir service logs, so a freeze can be reported and fixed. - Do Not Disturb read backwards in iRiS's Control Center: its tile was lit while notifications were shown and dark while silenced. It now lights when Do Not Disturb is on, named and drawn like the Island's sign, which became a moon disc you can hover and press (iRiS 2.33.76).
- A darker picture on Umbriel at a high refresh rate: some HDMI screens look darker at their own modes (75 Hz, 144 Hz) than at 60 Hz, because the GPU sends those in full range and the screen reads limited. iRiS Settings › Umbriel › Displays › Colour › Fix a darker picture gives that screen the range it expects, only at the rates that need it (iRiS 2.33.73 from the Hub).
- NixOS: the flake installs iNiR like every other distro: your copy lives in
~/.config/quickshell/inir, the families come from the Hub on the first start and switch like on Arch, and Hub items update from Settings › Hub orinir update. A rebuild after the 3.0.1 package removes what it left in your home; the page is NixOS. - Idle and lock timers: restarting the shell no longer leaves an old
swayidlebehind on each restart. - Family switch: the logo on the transition between families shows again.
- Material's left sidebar on a narrow panel: with many tabs the current one's name no longer pushes the others out of the strip; tabs that don't fit fade at the edge instead of being cut. The translator's copy, search, paste and clear buttons sit inside their cards again, and the AI chat's message buttons are square (#328, Material 2.35.12 from the Hub).
- An update notice at every start: a shell that stopped right after showing "update available" showed it again at each start; the notice is now remembered before it goes out (for #329).
- Hub: a component for every family (Fastfetch) read "For" with no name after it, as if made for another shell. It now says it works in Material, iRiS and Waffle.
- Panels and popups open on the screen you are on: with two or more monitors, bar popups and the session screen always opened on the first one; they follow the screen in use again (#330, qs-rs 0.1.5).
- Picture-in-picture floats from any browser: after updating from 2.33, a Brave or Chromium picture-in-picture window opened tiled; it floats like Firefox's (#302).
- A picture gallery widget keeps its interval: covering the desktop restarted the count, so a long interval almost never turned the picture; it now turns on the clock (#318).
- Widget stacks under Prism: a widget dropped on another was pushed aside instead of stacking, and one turn of the wheel could skip widgets in a stack (#324).
- The Settings window wears the theme in use: with a manual or preset theme it opened in the factory dark colours (#325).
- The visualizer hears only what plays: an app left out of it no longer leaks in when it shares an output with the player, and a lost source ends the bars instead of falling back to the microphone (#306, inir-accel 0.1.1).
- Keybinds after updating from an old setup: zsh logins lost
~/.local/bin, so Niri's binds could not findinir; and an update that stopped halfway no longer retries with the old version's setup (#326). - Aurora and Angel on compositor glass: the bar and panels went fully clear; they keep their tint.
- Brightness of external monitors on Umbriel: the sliders found no monitor to drive; screens are matched by their connector.
- Removing a Hub plugin undoes what it changed: a plugin that edited your files puts them back before it leaves.
- Lists in your config stay lists: some were saved in a shape the next start could not read, so the family cycle went back to its default; saved ones are read back right.
- A power profile picked at login is kept: one chosen before the power daemon answered was dropped (qs-rs 0.1.5).
- Tray and app entries: a tray click hands the app the right to come to the front, and app entries saved with Windows line ends are read (qs-rs 0.1.5).
- NixOS:
inir doctorno longer reports the package's unit, plugins or fonts as missing, and a call while the shell is down starts it under its service (inir-cli 0.2.8 to 0.2.12).
Issues / PRs
- Fixed #328 and #330.
- Also in this release, closed earlier: #302, #306, #318, #324, #325 and #326.
- For #329: the notice no longer repeats at every start, so the loop is gone; the crash under it stays open.
- Included contributions from #304 and #317.
- Parts: qs-rs 0.1.5 and 0.1.6, inir-accel 0.1.1 and 0.1.2, inir-cli 0.2.12; Material 2.35.15, iRiS 2.33.84, Waffle 2.34.14 and Radio 2.3.0 from the Hub.
Contributors
Thanks to @NsCrosu for the region recording fix, to @skrblk for the Waffle taskbar fix, to @winchxyz for Afterglyph, and to @ConorMcCabe29, @NourieEXE, @TheDinnx, @InterstellarOne, @NVitschDEV, @LYOTCHOK, @Tryprogufi and @TheStinkyArchUser for the reports behind the fixes.
Update: https://inir.space/docs/setup/#update
Fresh install: https://inir.space/docs/install/
Full changelog: https://github.com/snowarch/iNiR/blob/v3.1.0/CHANGELOG.md#310---2026-11-12




