diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c index e54da49e5..cff4373ec 100644 --- a/src/wayland/meta-wayland-surface.c +++ b/src/wayland/meta-wayland-surface.c @@ -2065,8 +2065,21 @@ get_gtk_surface (struct wl_client *client, wl_resource_set_implementation (surface->gtk_surface, &meta_wayland_gtk_surface_interface, surface, gtk_surface_destructor); } +static void +set_startup_id (struct wl_client *client, + struct wl_resource *resource, + const char *startup_id) +{ + MetaDisplay *display; + + display = meta_get_display (); + meta_startup_notification_remove_sequence (display->startup_notification, + startup_id); +} + static const struct gtk_shell_interface meta_wayland_gtk_shell_interface = { - get_gtk_surface + get_gtk_surface, + set_startup_id }; static void @@ -2080,7 +2093,7 @@ bind_gtk_shell (struct wl_client *client, resource = wl_resource_create (client, >k_shell_interface, version, id); - if (version != META_GTK_SHELL_VERSION) + if (version < 2) { wl_resource_post_error (resource, WL_DISPLAY_ERROR_INVALID_OBJECT, diff --git a/src/wayland/meta-wayland-versions.h b/src/wayland/meta-wayland-versions.h index e75d98752..68135479e 100644 --- a/src/wayland/meta-wayland-versions.h +++ b/src/wayland/meta-wayland-versions.h @@ -42,7 +42,7 @@ #define META_WL_SEAT_VERSION 5 #define META_WL_OUTPUT_VERSION 2 #define META_XSERVER_VERSION 1 -#define META_GTK_SHELL_VERSION 2 +#define META_GTK_SHELL_VERSION 3 #define META_WL_SUBCOMPOSITOR_VERSION 1 #define META_ZWP_POINTER_GESTURES_V1_VERSION 1