summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2016-02-06 15:04:25 +0100
committerCarlos Garnacho <carlosg@gnome.org>2016-02-19 17:41:03 +0100
commit3f60a2e48a0f8762e65a49d0b2180ef80357de51 (patch)
tree29486a26ab2bcd9d0f0f36df04fa87ac3e221f1d
parent3729e592a6154cc717e378afd1bc141f4ac736e4 (diff)
downloadmutter-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.c17
-rw-r--r--src/wayland/meta-wayland-versions.h2
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, &gtk_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