diff --git a/gdk/wayland/gdktoplevel-wayland.c b/gdk/wayland/gdktoplevel-wayland.c index a73c3de695..521841ee9d 100644 --- a/gdk/wayland/gdktoplevel-wayland.c +++ b/gdk/wayland/gdktoplevel-wayland.c @@ -2491,6 +2491,27 @@ gdk_wayland_toplevel_unexport_handle (GdkToplevel *toplevel) gdk_toplevel_unexport_handle (toplevel); } +/** + * gdk_wayland_toplevel_drop_exported_handle: + * @toplevel: (type GdkWaylandToplevel): the `GdkToplevel` that was exported + * @handle: the handle to drop + * + * 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. + * + * Since: 4.12 + */ +void +gdk_wayland_toplevel_drop_exported_handle (GdkToplevel *toplevel, + const char *handle) +{ + g_return_if_fail (GDK_IS_WAYLAND_TOPLEVEL (toplevel)); + + gdk_toplevel_unexport_handle (toplevel); +} + static void unset_transient_for_exported (GdkWaylandToplevel *toplevel) { diff --git a/gdk/wayland/gdkwaylandtoplevel.h b/gdk/wayland/gdkwaylandtoplevel.h index 36410b3054..bb7abe5976 100644 --- a/gdk/wayland/gdkwaylandtoplevel.h +++ b/gdk/wayland/gdkwaylandtoplevel.h @@ -55,6 +55,10 @@ gboolean gdk_wayland_toplevel_export_handle (GdkToplevel GDK_AVAILABLE_IN_ALL void gdk_wayland_toplevel_unexport_handle (GdkToplevel *toplevel); +GDK_AVAILABLE_IN_4_12 +void gdk_wayland_toplevel_drop_exported_handle (GdkToplevel *toplevel, + const char *handle); + GDK_AVAILABLE_IN_ALL gboolean gdk_wayland_toplevel_set_transient_for_exported (GdkToplevel *toplevel, const char *parent_handle_str);