From 547d478d1dc5df274c4feb34bfb890cc715aad1e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 8 Nov 2016 13:55:16 -0500 Subject: [PATCH] Fix 1376471 --- mutter.spec | 5 +++++ startup-notification.patch | 45 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 startup-notification.patch diff --git a/mutter.spec b/mutter.spec index 564b14a..894392e 100644 --- a/mutter.spec +++ b/mutter.spec @@ -15,6 +15,7 @@ Source0: http://download.gnome.org/sources/%{name}/3.23/%{name}-%{version} # https://bugzilla.gnome.org/show_bug.cgi?id=772422 Patch0: 0001-Use-eglGetPlatformDisplay.patch +Patch1: startup-notification.patch BuildRequires: chrpath BuildRequires: pango-devel @@ -107,6 +108,7 @@ the functionality of the installed %{name} package. %prep %setup -q %patch0 -p1 +%patch1 -p1 %build autoreconf -f -i @@ -181,6 +183,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %{_datadir}/mutter/tests %changelog +* Tue Nov 8 2016 Matthias Clasen - 3.23.1-2 +- Fix 1376471 + * Sun Oct 30 2016 Florian Müllner - 3.23.1-1 - Update to 3.23.1 diff --git a/startup-notification.patch b/startup-notification.patch new file mode 100644 index 0000000..1a4dd0b --- /dev/null +++ b/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