[mutter/wip/rstrode/rhel-8.0.0: 1/117] gtk-shell: Work around non-working startup notifications



commit dcfaf95ff481bf55c5f20ac9e24ddffdb88232b0
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu Oct 20 18:00:04 2016 +0200

    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 0ef9b83ff..891109a69 100644
--- a/src/wayland/meta-wayland-gtk-shell.c
+++ b/src/wayland/meta-wayland-gtk-shell.c
@@ -312,11 +312,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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]