小天管理 发表于 2024年9月16日 发表于 2024年9月16日 niri 是一个基于 Wayland 的可滚动平铺窗口管理器,其独特之处在于提供了无限水平滚动的窗口排列方式。 用铁轨和车厢做一个类比(我可能是第一个使用这个类比的): 一个 workspace 就像是一条长度无限的铁轨,你可以在铁轨上: 放置无限数量的车厢(应用窗口) 交换两车厢的位置 在任意位置插入新的车厢 随意改变车厢长度、宽度(无上限) 以及,将车厢移动到其他铁轨( workspace )上。 是的,铁轨并不止一条,workspaces 是动态的,无上限的,可以想象成是无数条水平排列的铁轨集群。 当你将一个车厢移动到下一条铁轨时,如果那条铁轨不存在,niri 将会动态创建那条铁轨(动态铁轨)。 你可以给铁轨命名,那么它将会一直存在,且会排列在『动态铁轨』之前。通过按键绑定,实现随意切换铁轨、将车厢转移到指定铁轨。 视频演示:https://github.com/YaLTeR/niri/assets/1794388/bce834b0-f205-434e-a027-b373495f9729 核心特点 使用 Rust 编写 可滚动平铺:所有窗口在一个无限横向延展的条带上排列,打开新窗口不会影响现有窗口的大小。 动态工作区:每个显示器有独立的动态工作区,工作区可纵向排列并且支持自动调整。 监视器智能管理:断开或重新连接显示器时,工作区会根据需要自动迁移并复位。 内置功能:支持内置截图工具、监视器和窗口录屏支持(xdg-desktop-portal-gnome),并提供触控板和鼠标手势。 高级自定义:可配置窗口布局、间隙、边框、窗口尺寸,支持渐变边框与动画效果。 使用 niri 目前已实现了大部分核心功能,适合尝试。详细的安装和配置指南请参阅 niri 的 Wiki 页面。 存在的问题 不支持 electron 类应用输入法( text-input-v1 ),chromium 、vscode 、obsidian 等应用可能无法输入中文 不支持 floating window 无内置 Xwayland 支持 个人体验 我使用 NixOS ,安装起来比较便捷,从 tty 启动,体验了一天,相当流畅丝滑,非常适合我的工作流,然后果断将 Hyprland (Hyprbug) 删除了。 链接 仓库地址:https://github.com/YaLTeR/niri
已推荐帖子