[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5384":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":16,"starSnapshotCount":16,"syncStatus":35,"lastSyncTime":36,"discoverSource":37},5384,"niri","niri-wm\u002Fniri","niri-wm","A scrollable-tiling Wayland compositor.","https:\u002F\u002Fniri-wm.github.io\u002Fniri\u002F",null,"Rust",25126,936,78,219,0,34,222,1065,187,118.92,"GNU General Public License v3.0",false,"main",true,[27,28,29,30,31],"rust","smithay","tiling-window-manager","wayland","wayland-compositor","2026-06-12 04:00:25","\u003Ch1 align=\"center\">\u003Cimg alt=\"niri\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F07d05cd0-d5dc-4a28-9a35-51bae8f119a0\">\u003C\u002Fh1>\n\u003Cp align=\"center\">A scrollable-tiling Wayland compositor.\u003C\u002Fp>\n\u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fmatrix.to\u002F#\u002F#niri:matrix.org\">\u003Cimg alt=\"Matrix\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmatrix-%23niri-blue?logo=matrix\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fniri-wm\u002Fniri\u002Fblob\u002Fmain\u002FLICENSE\">\u003Cimg alt=\"GitHub License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fniri-wm\u002Fniri\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fniri-wm\u002Fniri\u002Freleases\">\u003Cimg alt=\"GitHub Release\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fniri-wm\u002Fniri?logo=github\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fniri-wm.github.io\u002Fniri\u002FGetting-Started.html\">Getting Started\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fniri-wm.github.io\u002Fniri\u002FConfiguration%3A-Introduction.html\">Configuration\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fniri-wm\u002Fniri\u002Fdiscussions\u002F325\">Setup&nbsp;Showcase\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cimg width=\"1280\" height=\"720\" alt=\"niri with a few windows open\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fdea5909e-1859-4aaa-9d88-d37f9663e00b\" \u002F>\n\n## About\n\nWindows are arranged in columns on an infinite strip going to the right.\nOpening a new window never causes existing windows to resize.\n\nEvery monitor has its own separate window strip.\nWindows can never \"overflow\" onto an adjacent monitor.\n\nWorkspaces are dynamic and arranged vertically.\nEvery monitor has an independent set of workspaces, and there's always one empty workspace present all the way down.\n\nThe workspace arrangement is preserved across disconnecting and connecting monitors where it makes sense.\nWhen a monitor disconnects, its workspaces will move to another monitor, but upon reconnection they will move back to the original monitor.\n\n## Features\n\n- Built from the ground up for scrollable tiling\n- [Dynamic workspaces](https:\u002F\u002Fniri-wm.github.io\u002Fniri\u002FWorkspaces.html) like in GNOME\n- An [Overview](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F379a5d1f-acdb-4c11-b36c-e85fd91f0995) that zooms out workspaces and windows\n- Built-in screenshot UI\n- Monitor and window screencasting through xdg-desktop-portal-gnome\n    - You can [block out](https:\u002F\u002Fniri-wm.github.io\u002Fniri\u002FConfiguration%3A-Window-Rules.html#block-out-from) sensitive windows from screencasts\n    - [Dynamic cast target](https:\u002F\u002Fniri-wm.github.io\u002Fniri\u002FScreencasting.html#dynamic-screencast-target) that can change what it shows on the go\n- [Touchpad](https:\u002F\u002Fgithub.com\u002Fniri-wm\u002Fniri\u002Fassets\u002F1794388\u002F946a910e-9bec-4cd1-a923-4a9421707515) and [mouse](https:\u002F\u002Fgithub.com\u002Fniri-wm\u002Fniri\u002Fassets\u002F1794388\u002F8464e65d-4bf2-44fa-8c8e-5883355bd000) gestures\n- Group windows into [tabs](https:\u002F\u002Fniri-wm.github.io\u002Fniri\u002FTabs.html)\n- Configurable layout: gaps, borders, struts, window sizes\n- [Gradient borders](https:\u002F\u002Fniri-wm.github.io\u002Fniri\u002FConfiguration%3A-Layout.html#gradients) with Oklab and Oklch support\n- [Background blur](https:\u002F\u002Fniri-wm.github.io\u002Fniri\u002FWindow-Effects.html) for windows and layer-shell surfaces\n- [Animations](https:\u002F\u002Fgithub.com\u002Fniri-wm\u002Fniri\u002Fassets\u002F1794388\u002Fce178da2-af9e-4c51-876f-8709c241d95e) with support for [custom shaders](https:\u002F\u002Fgithub.com\u002Fniri-wm\u002Fniri\u002Fassets\u002F1794388\u002F27a238d6-0a22-4692-b794-30dc7a626fad)\n- Live-reloading config\n- Works with [screen readers](https:\u002F\u002Fniri-wm.github.io\u002Fniri\u002FAccessibility.html)\n\n## Video Demo\n\nhttps:\u002F\u002Fgithub.com\u002Fniri-wm\u002Fniri\u002Fassets\u002F1794388\u002Fbce834b0-f205-434e-a027-b373495f9729\n\nAlso check out these videos that showcase a lot of the niri functionality:\n\n- [Niri Is My New Favorite Wayland Compositor](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=DeYx2exm04M) by Brodie Robertson\n- [How Is niri This Good? Live Demo + Config](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7XmD5UyyhZQ) by Nick Janetakis\n\n## Status\n\nNiri is stable for day-to-day use and does most things expected of a Wayland compositor.\nMany people are daily-driving niri, and are happy to help in our [Matrix channel].\n\nGive it a try!\nFollow the instructions on the [Getting Started](https:\u002F\u002Fniri-wm.github.io\u002Fniri\u002FGetting-Started.html) page.\nGrab a desktop shell like [DankMaterialShell] or [Noctalia] (or build a more traditional setup): niri by itself is not a complete desktop environment.\nAlso check out [awesome-niri], a list of niri-related links and projects.\n\nHere are some points you may have questions about:\n\n- **Multi-monitor**: yes, a core part of the design from the very start. Mixed DPI works.\n- **Fractional scaling**: yes, plus all niri UI stays pixel-perfect.\n- **NVIDIA**: seems to work fine.\n- **Floating windows**: yes, starting from niri 25.01.\n- **Input devices**: niri supports tablets, touchpads, and touchscreens.\nYou can map the tablet to a specific monitor, or use [OpenTabletDriver].\nWe have touchpad gestures, but no touchscreen gestures yet.\n- **Wlr protocols**: yes, we have most of the important ones like layer-shell, gamma-control, screencopy.\nYou can check on [wayland.app](https:\u002F\u002Fwayland.app) at the bottom of each protocol's page.\n- **Performance**: while I run niri on beefy machines, I try to stay conscious of performance.\nI've seen someone use it fine on an Eee PC 900 from 2008, of all things.\n- **Xwayland**: [integrated](https:\u002F\u002Fniri-wm.github.io\u002Fniri\u002FXwayland.html#using-xwayland-satellite) via xwayland-satellite starting from niri 25.08.\n\n## Media\n\n[niri: Making a Wayland compositor in Rust](https:\u002F\u002Fyoutu.be\u002FKmz8ODolnDg?list=PLRdS-n5seLRqrmWDQY4KDqtRMfIwU0U3T) · *December 2024*\n\nMy talk from the 2024 Moscow RustCon about niri, and how I do randomized property testing and profiling, and measure input latency.\nThe talk is in Russian, but I prepared full English subtitles that you can find in YouTube's subtitle language selector.\n\n[An interview with Ivan, the developer behind Niri](https:\u002F\u002Fwww.trommelspeicher.de\u002Fpodcast\u002Fspecial_the_developer_behind_niri) · *June 2025*\n\nAn interview by a German tech podcast Das Triumvirat (in English).\nWe talk about niri development and history, and my experience building and maintaining niri.\n\n[A tour of the niri scrolling-tiling Wayland compositor](https:\u002F\u002Flwn.net\u002FArticles\u002F1025866\u002F) · *July 2025*\n\nAn LWN article with a nice overview and introduction to niri.\n\n## Contributing\n\nIf you'd like to help with niri, there are plenty of both coding- and non-coding-related ways to do so.\nSee [CONTRIBUTING.md](https:\u002F\u002Fgithub.com\u002Fniri-wm\u002Fniri\u002Fblob\u002Fmain\u002FCONTRIBUTING.md) for an overview.\n\n## Inspiration\n\nNiri is heavily inspired by [PaperWM] which implements scrollable tiling on top of GNOME Shell.\n\nOne of the reasons that prompted me to try writing my own compositor is being able to properly separate the monitors.\nBeing a GNOME Shell extension, PaperWM has to work against Shell's global window coordinate space to prevent windows from overflowing.\n\n## Tile Scrollably Elsewhere\n\nHere are some other projects which implement a similar workflow:\n\n- [PaperWM]: scrollable tiling on top of GNOME Shell.\n- [karousel]: scrollable tiling on top of KDE.\n- [scroll](https:\u002F\u002Fgithub.com\u002Fdawsers\u002Fscroll) and [papersway]: scrollable tiling on top of sway\u002Fi3.\n- Hyprland has a built-in [scrolling layout](https:\u002F\u002Fwiki.hypr.land\u002FConfiguring\u002FLayouts\u002FScrolling-Layout\u002F).\n- [Paneru] and [PaperWM.spoon]: scrollable tiling on top of macOS.\n\n## Contact\n\nOur main communication channel is a Matrix chat, feel free to join and ask a question: https:\u002F\u002Fmatrix.to\u002F#\u002F#niri:matrix.org\n\nWe also have a community Discord server: https:\u002F\u002Fdiscord.gg\u002FvT8Sfjy7sx\n\n[PaperWM]: https:\u002F\u002Fgithub.com\u002Fpaperwm\u002FPaperWM\n[waybar]: https:\u002F\u002Fgithub.com\u002FAlexays\u002FWaybar\n[fuzzel]: https:\u002F\u002Fcodeberg.org\u002Fdnkl\u002Ffuzzel\n[awesome-niri]: https:\u002F\u002Fgithub.com\u002Fniri-wm\u002Fawesome-niri\n[karousel]: https:\u002F\u002Fgithub.com\u002Fpeterfajdiga\u002Fkarousel\n[papersway]: https:\u002F\u002Fspwhitton.name\u002Ftech\u002Fcode\u002Fpapersway\u002F\n[Paneru]: https:\u002F\u002Fgithub.com\u002Fkarinushka\u002Fpaneru\n[PaperWM.spoon]: https:\u002F\u002Fgithub.com\u002Fmogenson\u002FPaperWM.spoon\n[Matrix channel]: https:\u002F\u002Fmatrix.to\u002F#\u002F#niri:matrix.org\n[OpenTabletDriver]: https:\u002F\u002Fopentabletdriver.net\u002F\n[DankMaterialShell]: https:\u002F\u002Fdanklinux.com\u002F\n[Noctalia]: https:\u002F\u002Fnoctalia.dev\u002F\n","niri 是一个基于滚动布局的Wayland合成器。它使用Rust语言开发，支持动态工作区、窗口概览、内置截图界面以及通过xdg-desktop-portal-gnome实现的屏幕录制功能。此外，niri还提供了触摸板和鼠标手势控制、窗口分组为标签页、可配置的布局选项（如间隙、边框、支柱和窗口大小）以及背景模糊效果等特性。适合需要高效管理和展示多窗口环境的用户，特别是在多显示器设置下希望获得流畅且高度自定义体验的专业人士。",2,"2026-06-11 03:03:00","top_language"]