如何开始为 Wayland 构建 GUI 工具包

How to start building a GUI toolkit for wayland

我想为我的桌面环境创建一个 GUI 工具包(因为 gtk 和 qt 都不适合我的需要)但我不知道如何开始。我不需要跨平台或独立于显示服务器的库、主题选项、可配置图标等,只需要一些用于制作 Wayland 客户端的基本小部件。 (按钮、条目、标签、window 和图像等小部件...如果它很重要,我想使用 CSD)

我的问题是我不明白图形在 wayland 中是如何工作的(在 X 中你只需要创建一个 window 并使用 XDrawLine 等等,对吧?)我也不明白知道如何编写图形工具包。你能给我一些关于如何做到这一点的文章或建议吗?

创建 wayland 客户端的最简单方法是使用 wayland-client 库。基本上,它抽象了有线格式。

示例:

#include <stdio.h>
#include <wayland-client.h>

int main(void)
{
    struct wl_display *display = wl_display_connect(NULL);
    if (display) {
        printf("Connected!\n");
    } else {
        printf("Error connecting ;(\n");
        return 1;
    }

    wl_display_disconnect(display);
    return 0;
}