当前位置: 首页 > news >正文

探索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社区,与我们一起讨论和探索!

相关文章:

  • 中年迷航,正念掌舵:在失业与转型中,找回内心的“定盘星”
  • 使用STM32设置GPIO中断
  • NLP学习路线图(四十六):可解释性
  • 华为云Flexus+DeepSeek征文 | 基于华为云Dify-LLM应用开发平台构建写作助手
  • 流程规划进阶——59页 15.流程的梳理方法【附全文阅读】
  • 标准库转hal库
  • JUC核心解析系列(一)——原子类深度解析
  • [C++] STL大家族之<map>(字典)容器(附洛谷)
  • 双重特征c++
  • 用于生成式新颖视图合成的密集 3D 场景完成
  • 字节FlowGram:AI时代可视化工作流的新范式
  • 项目会议过多如何优化沟通效率
  • 大模型——Dify 与 Browser-use 结合使用
  • 【Golang面试题】什么是 sync.Once
  • 薛定谔的猫思想实验如何推演到量子计算
  • mysql 创建大写字母的表名失败
  • YOLOv3 中的 IoU 计算详解
  • 儿童智能玩具与传统玩具的区别
  • 2022mpsPTE岗位笔试题
  • CSS Margin纵向重叠(Margin Collapse)问题详解
  • 湘潭公司网站建设/淘宝seo培训
  • 做短视频网站用哪家cms/深圳网络推广公司哪家好
  • 建设银行安徽分行招聘网站/南昌seo
  • 企业官方网站怎么写/快速排名方案
  • 甘肃庆阳正宁疫情最新消息/百度网站关键词优化
  • 网页设计图片怎么换/站长seo