目标和受众

本书的目标是让您了解 Wayland 协议及其高级用法。 您将会对 Wayland 核心协议的所有内容有扎实的了解,同时掌握实际生产、评估和实现各种扩展协议所需的必要知识。 首先,本书通过 Wayland 的客户端来介绍其架构。 此外,它也会为 Wayland 合成器的开发提供一些实用的工具。

自由系统桌面(freedesktop)生态十分复杂,它由许多分离的部分组成。 我们将很少讨论 libdrm、libinput、evdev 等部分内容,本书不是构建 Wayland 混成器的详尽指南。 在本书中你也找不到图像绘制技术的相关信息,比如 Cairo、Pango、GTK+ 等,尽管他们对开发 Wayland 客户端非常有帮助。 因此,本书同样不是一个完备的 Wayland 客户端实现指南。 相反,我们只专注于 Wayland 协议的细节。

本书仅涵盖 Wayland 协议和 libwayland。 如果你正在编写一个客户端应用程序,并有自己熟悉的 UI 渲染库,那么请带上自家的“像素”,本书将帮助您在 Wayland 上显示它们。 如果你已经对操控合成器、显示器和输入设备所需的技术有所了解,那么本书将帮助您学习如何与客户端进行通信。