The Wayland implementation of `GdkDevice`. Beyond the regular [class@Gdk.Device] API, the Wayland implementation provides access to Wayland objects such as the `wl_seat` with [method@GdkWayland.WaylandDevice.get_wl_seat], the `wl_keyboard` with [method@GdkWayland.WaylandDevice.get_wl_keyboard] and the `wl_pointer` with [method@GdkWayland.WaylandDevice.get_wl_pointer]. Returns the `/dev/input/event*` path of this device. For `GdkDevice`s that possibly coalesce multiple hardware devices (eg. mouse, keyboard, touch,...), this function will return %NULL. This is most notably implemented for devices of type %GDK_SOURCE_PEN, %GDK_SOURCE_TABLET_PAD. the `/dev/input/event*` path of this device a `GdkDevice` Returns the Wayland `wl_keyboard` of a `GdkDevice`. a Wayland `wl_keyboard` a `GdkDevice` Returns the Wayland `wl_pointer` of a `GdkDevice`. a Wayland `wl_pointer` a `GdkDevice` Returns the Wayland `wl_seat` of a `GdkDevice`. a Wayland `wl_seat` a `GdkDevice` Returns the `xkb_keymap` of a `GdkDevice`. a `struct xkb_keymap` a `GdkDevice` The Wayland implementation of `GdkDisplay`. Beyond the regular [class@Gdk.Display] API, the Wayland implementation provides access to Wayland objects such as the `wl_display` with [method@GdkWayland.WaylandDisplay.get_wl_display], the `wl_compositor` with [method@GdkWayland.WaylandDisplay.get_wl_compositor]. You can find out what Wayland globals are supported by a display with [method@GdkWayland.WaylandDisplay.query_registry]. Retrieves the EGL display connection object for the given GDK display. the EGL display a Wayland display Gets the startup notification ID for a Wayland display, or %NULL if no ID has been defined. the startup notification ID for @display a `GdkDisplay` Returns the Wayland `wl_compositor` of a `GdkDisplay`. a Wayland `wl_compositor` a `GdkDisplay` Returns the Wayland `wl_display` of a `GdkDisplay`. a Wayland `wl_display` a `GdkDisplay` Returns %TRUE if the interface was found in the display `wl_registry.global` handler. %TRUE if the global is offered by the compositor a `GdkDisplay` global interface to query in the registry Sets the cursor theme for the given @display. Use the cursor-related properties of [GtkSettings](../gtk4/class.Settings.html) to set the cursor theme a `GdkDisplay` the new cursor theme the size to use for cursors Sets the startup notification ID for a display. This is usually taken from the value of the `DESKTOP_STARTUP_ID` environment variable, but in some cases (such as the application not being launched using exec()) it can come from other sources. The startup ID is also what is used to signal that the startup is complete (for example, when opening a window or when calling [method@Gdk.Display.notify_startup_complete]). Use [method@Gdk.Toplevel.set_startup_id] a `GdkDisplay` the startup notification ID (must be valid utf8) The Wayland implementation of `GdkGLContext`. The Wayland implementation of `GdkMonitor`. Beyond the [class@Gdk.Monitor] API, the Wayland implementation offers access to the Wayland `wl_output` object with [method@GdkWayland.WaylandMonitor.get_wl_output]. Returns the Wayland `wl_output` of a `GdkMonitor`. a Wayland `wl_output` a `GdkMonitor` The Wayland implementation of `GdkPopup`. The Wayland implementation of `GdkSeat`. Beyond the regular [class@Gdk.Seat] API, the Wayland implementation provides access to the Wayland `wl_seat` object with [method@GdkWayland.WaylandSeat.get_wl_seat]. Returns the Wayland `wl_seat` of a `GdkSeat`. a Wayland `wl_seat` a `GdkSeat` The Wayland implementation of `GdkSurface`. Beyond the [class@Gdk.Surface] API, the Wayland implementation offers access to the Wayland `wl_surface` object with [method@GdkWayland.WaylandSurface.get_wl_surface]. Returns the Wayland `wl_surface` of a `GdkSurface`. a Wayland `wl_surface` a `GdkSurface` The Wayland implementation of `GdkToplevel`. Beyond the [iface@Gdk.Toplevel] API, the Wayland implementation has API to set up cross-process parent-child relationships between surfaces with [method@GdkWayland.WaylandToplevel.export_handle] and [method@GdkWayland.WaylandToplevel.set_transient_for_exported]. Destroy a handle that was obtained with gdk_wayland_toplevel_export_handle(). Note that this API depends on an unstable Wayland protocol, and thus may require changes in the future. the `GdkToplevel` that was exported the handle to drop Asynchronously obtains a handle for a surface that can be passed to other processes. When the handle has been obtained, @callback will be called. It is an error to call this function on a surface that is already exported. When the handle is no longer needed, [method@GdkWayland.WaylandToplevel.unexport_handle] should be called to clean up resources. The main purpose for obtaining a handle is to mark a surface from another surface as transient for this one, see [method@GdkWayland.WaylandToplevel.set_transient_for_exported]. Before 4.12, this API could not safely be used multiple times, since there was no reference counting for handles. Starting with 4.12, every call to this function obtains a new handle, and every call to [method@GdkWayland.WaylandToplevel.drop_exported_handle] drops just the handle that it is given. Note that this API depends on an unstable Wayland protocol, and thus may require changes in the future. %TRUE if the handle has been requested, %FALSE if an error occurred. the `GdkToplevel` to obtain a handle for callback to call with the handle user data for @callback destroy notify for @user_data Sets the application id on a `GdkToplevel`. a `GdkToplevel` the application id for the @toplevel Marks @toplevel as transient for the surface to which the given @parent_handle_str refers. Typically, the handle will originate from a [method@GdkWayland.WaylandToplevel.export_handle] call in another process. Note that this API depends on an unstable Wayland protocol, and thus may require changes in the future. %TRUE if the surface has been marked as transient, %FALSE if an error occurred. the `GdkToplevel` to make as transient an exported handle for a surface Destroys the handle that was obtained with gdk_wayland_toplevel_export_handle(). It is an error to call this function on a surface that does not have a handle. Since 4.12, this function does nothing. Use [method@GdkWayland.WaylandToplevel.drop_exported_handle] instead to drop a handle that was obtained with [method@GdkWayland.WaylandToplevel.export_handle]. Note that this API depends on an unstable Wayland protocol, and thus may require changes in the future. Use [method@GdkWayland.WaylandToplevel.drop_exported_handle] instead, this function does nothing the `GdkToplevel` to unexport Callback that gets called when the handle for a surface has been obtained from the Wayland compositor. This callback is used in [method@GdkWayland.WaylandToplevel.export_handle]. The @handle can be passed to other processes, for the purpose of marking surfaces as transient for out-of-process surfaces. the `GdkToplevel` that is exported the handle user data that was passed to [method@GdkWayland.WaylandToplevel.export_handle]