niri README

The project's README from github.com/niri-wm/niri. As one markdown file: README.md.

niri

A scrollable-tiling Wayland compositor.

Matrix GitHub License GitHub Release

Getting Started | Configuration | Setup Showcase

niri with a few windows open

About

Windows are arranged in columns on an infinite strip going to the right. Opening a new window never causes existing windows to resize.

Every monitor has its own separate window strip. Windows can never "overflow" onto an adjacent monitor.

Workspaces are dynamic and arranged vertically. Every monitor has an independent set of workspaces, and there's always one empty workspace present all the way down.

The workspace arrangement is preserved across disconnecting and connecting monitors where it makes sense. When a monitor disconnects, its workspaces will move to another monitor, but upon reconnection they will move back to the original monitor.

Features

Video Demo

https://github.com/niri-wm/niri/assets/1794388/bce834b0-f205-434e-a027-b373495f9729

Also check out these videos that showcase a lot of the niri functionality:

Status

Niri is stable for day-to-day use and does most things expected of a Wayland compositor. Many people are daily-driving niri, and are happy to help in our Matrix channel.

Give it a try! Follow the instructions on the Getting Started page. Grab a desktop shell like DankMaterialShell or Noctalia (or build a more traditional setup): niri by itself is not a complete desktop environment. Also check out awesome-niri, a list of niri-related links and projects.

Here are some points you may have questions about:

Media

niri: Making a Wayland compositor in Rust · December 2024

My talk from the 2024 Moscow RustCon about niri, and how I do randomized property testing and profiling, and measure input latency. The talk is in Russian, but I prepared full English subtitles that you can find in YouTube's subtitle language selector.

An interview with Ivan, the developer behind Niri · June 2025

An interview by a German tech podcast Das Triumvirat (in English). We talk about niri development and history, and my experience building and maintaining niri.

A tour of the niri scrolling-tiling Wayland compositor · July 2025

An LWN article with a nice overview and introduction to niri.

Contributing

If you'd like to help with niri, there are plenty of both coding- and non-coding-related ways to do so. See CONTRIBUTING.md for an overview.

Inspiration

Niri is heavily inspired by PaperWM which implements scrollable tiling on top of GNOME Shell.

One of the reasons that prompted me to try writing my own compositor is being able to properly separate the monitors. Being a GNOME Shell extension, PaperWM has to work against Shell's global window coordinate space to prevent windows from overflowing.

Tile Scrollably Elsewhere

Here are some other projects which implement a similar workflow:

Contact

Our main communication channel is a Matrix chat, feel free to join and ask a question: https://matrix.to/#/#niri:matrix.org

We also have a community Discord server: https://discord.gg/vT8Sfjy7sx

niri (niri-wm/niri)

Searching Database…

28.5K ·GitHub
这是什么东西?niri 是一个面向 Linux 的可滚动平铺 Wayland 合成器,用 Rust 基于 Smithay 编写。它的招牌设计是:窗口以列的形式排在一条无限长的带上,整条带子可以向右滚动。
可滚动平铺和普通平铺合成器有什么不同?打开新窗口永远不会改变已有窗口的大小,只是在那条无尽的带子末尾再加一列。每个显示器都有自己独立的一条带子,所以窗口不会挤到旁边的屏幕上;工作区是动态的,并且沿垂直方向排列。
我怎么把它跑起来?README 指向“入门”(Getting Started)页面,那里有安装说明。niri 是一个合成器,所以在 Linux 上它会替代你现有的桌面会话,而不是作为一个应用装在桌面里。
除了它本身,我还需要装别的东西吗?需要——niri 单独用并不是一个完整的桌面环境。README 建议搭配一个桌面外壳,比如 DankMaterialShell 或 Noctalia,或者自己动手搭一套更传统的配置。
它稳定吗,能当日常主力用吗?README 说 niri 在日常使用中是稳定的,已经有很多人把它当日常主力。粗糙的地方不多:有触控板手势,但还没有触屏手势。
在我的硬件上能跑吗,比如 NVIDIA 显卡?据说 NVIDIA 用起来没问题,多显示器混用 DPI 和分数缩放都是一等公民支持,而且资源占用很低——有人在 2008 年的 Eee PC 900 上跑它。
它开箱自带哪些功能?有一个能縮小縮览各个工作区的 Overview、内置的截图界面、可以隐藏敏感窗口的屏幕录制、标签式窗口、背景模糊、支持自定义着色器的动画,以及改完即生效的配置热重载。
为什么不直接用 PaperWM,要重新写一个合成器?niri 深受 PaperWM 启发,但 PaperWM 是个 GNOME Shell 扩展,为了防止窗口溢出,它必须和 Shell 的全局窗口坐标系较劲。作者自己写合成器,从一开始就能把各个显示器妥善分开。
支持浮动窗口吗?支持——从 niri 25.01 开始就有浮动窗口了,和可滚动列并存。
它支持数位板吗?支持——niri 支持数位板、触控板和触屏。你可以把数位板映射到指定的显示器,或者使用 OpenTabletDriver。
Creator
niri-wm
Size
12.5 MB
Stars
28.5K
Age
3y
Commits · 90 Days