Wayland 交互 [src]

特定于 Wayland 后端的函数

本节中的函数特定于 GDK Wayland 后端。要使用它们,你需要包含头文件 <gdk/wayland/gdkwayland.h>,并使用特定于 Wayland 的 pkg-config 文件 gtk4-wayland 来构建你的应用程序。

检查 Wayland 后端

GDK 可以通过支持多个后端来构建,这意味着如果你希望调用特定于后端的 API,则需要执行编译时间检查 运行时检查。例如,以下代码示例将保护对不同后端的调用,并在不支持的窗口系统上出错

#ifdef GDK_WINDOWING_WAYLAND
#include <gdk/wayland/gdkwayland.h>
#endif
#ifdef GDK_WINDOWING_X11
#include <gdk/x11/gdkx.h>
#endif

#ifdef GDK_WINDOWING_WAYLAND
  if (GDK_IS_WAYLAND_DISPLAY (display))
    {
      // make Wayland-specific calls here
    }
  else
#endif
#ifdef GDK_WINDOWING_X11
  if (GDK_IS_X11_DISPLAY (display))
    {
      // make X11-specific calls here
    }
  else
#endif
  g_error ("Unsupported GDK backend");

编译时间检查通过使用 GDK_WINDOWING_* 预处理器符号执行;为构建到 GDK 中的每个窗口系统后端定义了一个符号。对于 Wayland,此符号为 GDK_WINDOWING_WAYLAND

通过查看 GdkDisplay 对象的类型来执行运行时检查。对于 Wayland,显示对象将为类型 GdkWaylandDisplay