探索niri:让你的Linux桌面布局无拘无束
打造极致体验的可滚动平铺Wayland合成器——niri
在科技日新月异的今天,桌面环境的使用需求愈加多元化。作为新一代的平铺式合成器,niri在Wayland上开启了一场颠覆之旅。不仅解决了GNOME Shell平铺的种种限制,更为用户提供了一种全新的桌面空间管理方式。
项目简介
niri是一款以滚动平铺为核心概念的Wayland合成器。不同于传统合成器的平铺方式,niri在空间管理上更加灵活,其独特的窗口处理模式能够更好地满足用户的多任务管理需求。
窗口排列的革新
在niri中,窗口被排列成若干条目,向右无限展开。新窗口的开启不会对已有窗口造成干扰,这种基于无扰动原则的设计为用户提供了不间断的工作流体验。
每一个显示器都有其独立的窗口布局,不会出现窗口的“溢出”现象,即窗口不会无序地扩展到相邻的显示器上。这种设计保证了不同显示区域的工作内容独立且井然有序。
动态工作区
niri的工作区是动态的,并且以垂直方式排列。每个显示器的工作区都是独立设置的,并且始终保留一个空白的工作区供用户随时调用。这种设计不仅提升了用户的使用效率,也增强了操作的灵活性。
即便当连接不同的显示器时,niri也能智能地保持工作区布局的连续性。用户重新连接设备时,工作区会自动还原至断开前的状态,从而减少不必要的调整和设置。
核心功能
- 滚动平铺:niri从零构建,专为滚动平铺而设计,在视觉表现和操作上都更贴合用户的直觉需求。
- 动态工作区设计:能像GNOME一样灵活高效管理各类任务。
- 概要视图功能:通过缩小视角展示所有工作区和窗口的概况,帮助用户快速识别和切换任务。
- 内建的截图界面:方便进行屏幕截图和内容分享。
- 屏幕投射:通过xdg-desktop-portal-gnome进行窗口和显示器投射,支持屏蔽特定内容的显示以保障信息安全。
- 便捷手势操作:为触控板和鼠标提供丰富的手势支持,实现更流畅的交互体验。
- 窗口分组及标签:允许将窗口分组到标签下,提升窗口管理的层次与维度。
- 自定义布局设置:用户可以灵活调整间距、边框、窗口大小等元素。
- 渐变边框、有趣的动画效果:支持Oklab和Oklch颜色空间的渐变显示,还能通过自定义着色器加持生动动画效果。
- 实时配置重载:用户可以随时调整niri的设置,而无需退出或重新启动应用程序。
用户体验与稳定性
niri已经具备足够的稳定性,能够满足日常工作的需求。无论是多显示器设置、不同的输入设备支持、还是高性能运行,在niri的开发中都得到充分考虑。即便是在老旧的机器上,例如2008年的Eee PC 900,也能正常运行。
xwayland兼容性
虽然niri不直接支持Xwayland,但通过xwayland-satellite这一工具,用户可以轻松实现相关功能。此兼容层完美支持Steam和众多游戏、JetBrains IDE、Electron 应用,如Discord等。而对于一些需要特定屏幕坐标的X11应用,可以选择在嵌套的合成器中运行。
灵感来源
niri受到了PaperWM的影响,该项目在GNOME Shell上实现了滚动平铺。然而,niri进一步突破了GNOME Shell的局限,以独具特色的方式实现监视器间的显示分离。
同类项目
如果你对滚动平铺桌面环境感兴趣,可以了解以下项目:
- PaperWM:在GNOME Shell之上实现滚动平铺。
- karousel:基于KDE的滚动平铺实现。
- scroll和papersway:在sway/i3上开启滚动平铺。
- hyprscrolling和hyprslidr:在Hyprland上实施滚动平铺。
- PaperWM.spoon:连接至macOS的滚动平铺。
结语
niri通过滚动平铺的创新理念,跨越了传统合成器在灵活性和易用性方面的局限。无论是对于多任务处理的要求,还是对于界面美观的期待,niri都给出了完美的解决方案。希望大家能通过niri重新定义自己在桌面操作系统上的使用体验!欢迎加入niri的Matrix社区,与我们一起讨论和探索!