explaingit

niri-wm/niri

📈 Trending24,343RustAudience · developerComplexity · 4/5ActiveLicenseSetup · hard

TLDR

A Linux window manager using Wayland that arranges windows in scrollable columns instead of overlapping layers, letting you navigate with keyboard and gestures.

Mindmap

mindmap
  root((niri))
    What it does
      Scrollable tiling layout
      Automatic workspace stacking
      Window grouping into tabs
    Features
      Touchpad gestures
      Screenshot and recording
      Animated transitions
      Live config reload
    Use cases
      Power users many windows
      Keyboard-driven workflows
      Custom Linux desktops
    Tech stack
      Wayland protocol
      Smithay toolkit
      X11 compatibility
    Audience
      Linux desktop users
      Tiling WM enthusiasts

Things people build with this

USE CASE 1

Organize dozens of application windows in a single scrollable strip without overlapping or resizing chaos.

USE CASE 2

Build a keyboard-driven Linux desktop with animated transitions, gestures, and live configuration updates.

USE CASE 3

Run legacy X11 applications alongside modern Wayland apps on the same tiling workspace.

USE CASE 4

Create custom window layouts with tabs and per-monitor independent workspaces that scale automatically.

Tech stack

RustWaylandSmithayX11

Getting it running

Difficulty · hard Time to first run · 1h+

Requires Rust compilation, Wayland/X11 libraries, and a compatible Linux environment with display server setup.

Use it freely, but any project you distribute that includes this code must also be GPL-licensed and open source.

In plain English

Niri is a window manager for Linux desktops that uses the Wayland display protocol. A window manager controls how application windows are arranged and navigated on your screen. Niri takes a specific approach called scrollable tiling: instead of windows overlapping like in a traditional desktop, they are arranged in columns on an infinite horizontal strip. You scroll left and right to reach different windows rather than switching between stacked layers. The core idea is that opening a new window never forces existing windows to resize or move unexpectedly. Each monitor gets its own independent strip of windows, so a window can never accidentally spill onto the wrong screen. Workspaces, which are like virtual desktops, are stacked vertically on each monitor and created automatically as needed. Beyond the layout philosophy, niri includes features you would expect from a modern desktop environment: touchpad gestures, a built-in screenshot tool, screen recording, animated transitions, gradient window borders, background blur, and live configuration reloading without restarting. It also supports grouping windows into tabs, and can run older X11 applications alongside native Wayland ones. You would use niri if you work with many windows at once and find the standard overlapping-window model chaotic. It suits power users comfortable configuring a Linux desktop from scratch who want a keyboard-driven, tiling workflow without the complexity of some alternatives. It is written in Rust and built on the Smithay compositor toolkit.

Copy-paste prompts

Prompt 1
How do I install and configure niri as my window manager on my Linux system?
Prompt 2
Show me how to set up keyboard shortcuts and touchpad gestures in niri's config file.
Prompt 3
How do I group windows into tabs in niri and switch between them?
Prompt 4
What are the performance differences between niri's scrollable tiling and traditional stacking window managers?
Prompt 5
How do I enable screenshot and screen recording features in niri?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.