diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2016-02-06 15:04:25 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2016-02-19 17:41:03 +0100 |
commit | 3f60a2e48a0f8762e65a49d0b2180ef80357de51 (patch) | |
tree | 29486a26ab2bcd9d0f0f36df04fa87ac3e221f1d | |
parent | 3729e592a6154cc717e378afd1bc141f4ac736e4 (diff) | |
download | mutter-3f60a2e48a0f8762e65a49d0b2180ef80357de51.tar.gz |
wayland: Implement gtk-shell v3
Implement the gtk_shell.set_startup_id request, so that the ID is
removed from the sequences list, and feedback updated accordingly.
https://bugzilla.gnome.org/show_bug.cgi?id=762268
-rw-r--r-- | src/wayland/meta-wayland-surface.c | 17 | ||||
-rw-r--r-- | src/wayland/meta-wayland-versions.h | 2 |
2 files changed, 16 insertions, 3 deletions
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 |