diff --git a/meta-gnome/recipes-gnome/mutter/mutter/startup-notification.patch b/meta-gnome/recipes-gnome/mutter/mutter/startup-notification.patch new file mode 100644 index 0000000..1a4dd0b --- /dev/null +++ b/meta-gnome/recipes-gnome/mutter/mutter/startup-notification.patch @@ -0,0 +1,45 @@ +From 4ed430b4ef3013c96fa56cdc57b925b42d20ead9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Thu, 20 Oct 2016 18:00:04 +0200 +Subject: [PATCH] gtk-shell: Work around non-working startup notifications + +GNOME Shell relies on the MetaScreen::startup-sequence-changed signal, +which is tied to (lib)startup-notification and therefore X11. As a result, +when we remove the startup sequence of a wayland client, GNOME Shell will +not be notified about this until startup-notification's timeout is hit. +As a temporary stop-gap, go through XWayland even for wayland clients, +so that the signal is emitted when expected. + +https://bugzilla.gnome.org/show_bug.cgi?id=768531 +--- + src/wayland/meta-wayland-gtk-shell.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/src/wayland/meta-wayland-gtk-shell.c b/src/wayland/meta-wayland-gtk-shell.c +index d6e249f..9d1a19e 100644 +--- a/src/wayland/meta-wayland-gtk-shell.c ++++ b/src/wayland/meta-wayland-gtk-shell.c +@@ -219,11 +219,21 @@ gtk_shell_set_startup_id (struct wl_client *client, + struct wl_resource *resource, + const char *startup_id) + { ++#if 0 + MetaDisplay *display; + + display = meta_get_display (); + meta_startup_notification_remove_sequence (display->startup_notification, + startup_id); ++#else ++ /* HACK: MetaScreen::startup-sequence-changed is currently tied to ++ (lib)startup-notification, which means it only works on X11; ++ so for now, always go through XWayland, even for wayland clients */ ++ gdk_x11_display_broadcast_startup_message (gdk_display_get_default (), ++ "remove", ++ "ID", startup_id, ++ NULL); ++#endif + } + + static void +-- +2.9.3 diff --git a/meta-gnome/recipes-gnome/mutter/mutter_3.26.1.bb b/meta-gnome/recipes-gnome/mutter/mutter_3.28.0.bb similarity index 72% rename from meta-gnome/recipes-gnome/mutter/mutter_3.26.1.bb rename to meta-gnome/recipes-gnome/mutter/mutter_3.28.0.bb index a2bc90a..5941ae1 100644 --- a/meta-gnome/recipes-gnome/mutter/mutter_3.26.1.bb +++ b/meta-gnome/recipes-gnome/mutter/mutter_3.28.0.bb @@ -1,9 +1,9 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRC_URI[archive.md5sum] = "137724b82820db992d9df103959e20fc" -SRC_URI[archive.sha256sum] = "16faf617aae9be06dc5f9e104f4cd20dfdd4d6ec0bc10053752262e9f79a04c2" -SRC_URI_append = " file://0001-remove-check-for-zenity.patch" +SRC_URI[archive.md5sum] = "7a3baf2fbb02f9cc341bf0424a31d0d2" +SRC_URI[archive.sha256sum] = "58fffc8025f21fb6da27bd2189b6db4d20c54f950b1a46aa7f7cbf0a82d386b0" +SRC_URI_append = " file://0001-remove-check-for-zenity.patch file://startup-notification.patch" DEPENDS = "libxrandr libsm libx11 libxi glib-2.0 wayland-protocols libwacom mesa gtk+3 pango cairo gsettings-desktop-schemas xcomposite upower gnome-desktop libxkbfile json-glib wayland-native xinerama zenity libinput libcanberra" RDEPENDS_${PN} = "zenity"