探索 Niri:你不可不知的 Niri 核心知识 – wiki词典

探索 Niri:你不可不知的 Niri 核心知识

在 Linux 桌面环境中,平铺式窗口管理器因其高效的工作流而备受青睐。然而,传统的平铺管理器往往通过自动调整窗口大小来适应新打开的应用程序,这有时会打断用户的专注。正是在这样的背景下,一个名为 Niri 的 Wayland 合成器脱颖而出,以其独特的“可滚动平铺”概念,为用户带来了全新的桌面体验。

什么是 Niri?

Niri 是一个专注于 Wayland 的可滚动平铺合成器。与 Sway 或 Hyprland 等其他平铺式合成器不同,Niri 的核心理念是将窗口组织在一个“无限的水平桌面”上,用户可以通过滚动来左右平移。这种设计灵感来源于 PaperWM 等项目,它改变了我们与窗口交互的方式,使得新窗口的打开不再强制调整现有窗口的大小,从而保持了工作区的稳定性和连贯性。

Niri 的独特之处

滚动式平铺桌面

Niri 最引人注目的特点是其独特的窗口管理方式。它将所有窗口安排在一个无限延伸的水平条带上,每个窗口占据一个列。当你打开一个新窗口时,它不会压缩或重新排列现有窗口,而是简单地在旁边创建一个新的列。你可以通过滚动来浏览这些窗口,就像浏览一个巨大的画布一样。这种方法极大地提升了多任务处理的流畅性,避免了传统平铺管理器中因窗口频繁调整大小而造成的视觉干扰。

灵活的工作区管理

Niri 支持动态和垂直的工作区,并且每个显示器都维护自己独立的工作区集合。这意味着你可以在不同的显示器上拥有完全独立的工作流,互不干扰。此外,自 25.01 版本起,Niri 也开始支持浮动窗口,进一步增加了其窗口管理的灵活性,以适应不同应用程序的需求。

技术基石

Niri 采用现代编程语言 Rust 进行开发,这赋予了它出色的性能和稳定性。作为一个 Wayland-native 的合成器,它充分利用了 Wayland 协议的优势,提供了更为流畅和安全的图形体验。Niri 的开发也得益于 Smithay 项目,这是一个 Rust 编写的 Wayland 库,为构建 Wayland 合成器提供了坚实的基础。

核心功能与特性

Niri 不仅仅是一个窗口管理器,它还提供了一系列丰富的功能,旨在提升用户的整体桌面体验:

  • 多显示器支持: 完美支持多显示器设置,包括混合 DPI 和分数缩放,确保在各种显示设备上都能获得清晰的视觉效果。
  • 概览模式: 提供一个独特的概览模式,可以缩小显示所有工作区和窗口,方便用户快速导航和切换。
  • 截屏与投屏: 内置截屏用户界面,并通过 xdg-desktop-portal-gnome 支持显示器和窗口的投屏功能。
  • 输入设备支持: 提供了全面的输入设备支持,包括触摸板和鼠标手势,让交互更加直观。
  • 布局定制: 允许用户高度定制窗口布局,包括间隙、边框、支架和窗口大小,还支持渐变边框和动画效果,以满足个性化需求。
  • 可访问性: 致力于提供良好的可访问性,能够与屏幕阅读器协同工作。
  • X11 应用兼容: 通过 xwayland-satellite,Niri 能够很好地运行传统的 X11 应用程序,确保了广泛的软件兼容性。

配置与生态

Niri 的配置通过一个简洁的 KDL 文件进行管理,通常位于 ~/.config/niri/config.kdl。它支持配置的实时重新加载,让用户可以即时看到更改效果。

需要注意的是,Niri 是一个合成器,而非完整的桌面环境。为了提供完整的用户体验,它通常与一系列辅助应用程序集成,例如 fuzzel 用于应用程序启动器,mako 用于通知,以及 waybar 用于任务栏。这种模块化的设计使得用户可以根据自己的偏好构建一个高度定制化的桌面环境。

稳定性

经过社区的不断测试和改进,Niri 已经达到了适合日常使用的稳定水平。它为那些寻求高效、美观且独特的 Wayland 体验的用户提供了一个引人注目的选择。

总结

Niri 作为 Wayland 桌面世界中的一股新势力,以其创新的可滚动平铺概念,为用户带来了耳目一新的窗口管理体验。它在保持传统平铺管理器高效性的同时,通过独特的“无限水平桌面”解决了窗口频繁调整大小的痛点。结合其强大的功能集、现代化的技术栈以及高度可定制性,Niri 无疑是那些追求个性化和流畅工作流的 Linux 用户不可不知的核心知识。如果你正在寻找一种不同寻常的 Wayland 桌面体验,Niri 绝对值得你深入探索。

滚动至顶部