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]