文章摘要
文章介绍了 river 0.4.0 引入的非单体架构,通过 river-window-management-v1 协议将窗口管理器拆分为独立程序。作者分析了 X11 架构的延迟问题以及传统 Wayland 单体架构的局限性,提出了一种基于状态机的更新机制。该设计通过批量处理管理和渲染状态,在保证“帧完美”渲染的同时,避免了每一帧或每个输入事件的额外往返延迟。这种分离使得开发者能更轻松地实现自定义窗口管理逻辑,而无需处理底层的合成器细节。
社区讨论
社区对该发布表示祝贺,普遍认为 Wayland 合成器的开发难度远高于 X11,而 river 的新协议有效降低了这一门槛。讨论中提到了基于 Emacs 的 reka 等新兴窗口管理器实现,并探讨了利用 X11 窗口管理器管理 Wayland 窗口的可能性。此外,用户还分享了关于 Wayback 和 12to11 等跨协议兼容项目的见解,整体氛围积极且富有技术深度。