<h1 align="center">niri</h1>
<p align="center">一个可滚动平铺的Wayland合成器。</p>
<p align="center">
<a href="https://matrix.to/#/#niri:matrix.org"><img alt="Matrix" src="https://img.shields.io/matrix/niri%3Amatrix.org?logo=matrix&label=matrix"></a>
<a href="https://github.com/YaLTeR/niri/blob/main/LICENSE"><img alt="GitHub许可证" src="https://img.shields.io/github/license/YaLTeR/niri"></a>
<a href="https://github.com/YaLTeR/niri/releases"><img alt="GitHub发布" src="https://img.shields.io/github/v/release/YaLTeR/niri?logo=github"></a>
</p>
<p align="center">
<a href="https://github.com/YaLTeR/niri/wiki/Getting-Started">入门指南</a> | <a href="https://github.com/YaLTeR/niri/wiki/Configuration:-Overview">配置</a> | <a href="https://github.com/YaLTeR/niri/discussions/325">设置展示</a>
</p>

关于
窗口在向右延伸的无限条带上按列排列。
打开新窗口永不会导致现有窗口调整大小。
每个显示器都有自己独立的窗口条带。
窗口永远不会"溢出"到相邻的显示器上。
工作区是动态的,并垂直排列。
每个显示器都有独立的工作区集,最下方始终存在一个空的工作区。
在显示器断开连接和重新连接时,工作区的排列会在合理的情况下得以保留。
当显示器断开连接时,其工作区会移动到另一个显示器,但在重新连接时,它们会移回原始显示器。
特性
- 可滚动平铺
- 类似GNOME的动态工作区
- 内置截图界面
- 通过xdg-desktop-portal-gnome支持显示器和窗口录屏
- 触摸板和鼠标手势
- 可配置布局:间隙、边框、支柱、窗口大小
- 支持Oklab和Oklch的渐变边框
- 动画效果,支持自定义着色器
- 实时重载配置
视频演示
https://github.com/YaLTeR/niri/assets/1794388/bce834b0-f205-434e-a027-b373495f9729
当前状态
大部分基本功能已经实现,还有一些额外的功能。
欢迎尝试niri:请按照入门指南wiki页面的说明进行操作。
准备好您的waybar和fuzzel:niri不是一个完整的桌面环境。
请注意,NVIDIA显卡可能会遇到问题。
灵感来源
Niri深受PaperWM的启发,后者在GNOME Shell之上实现了可滚动平铺。
促使我尝试编写自己的合成器的原因之一是能够正确分离显示器。
作为GNOME Shell的扩展,PaperWM不得不对抗Shell的全局窗口坐标空间,以防止窗口溢出。
其他可滚动平铺项目
以下是一些实现类似工作流的其他项目:
联系方式
我们有一个Matrix聊天室,欢迎加入并提问:https://matrix.to/#/#niri:matrix.org