[mutter/wip/texture-purge-on-nvidia: 1/71] gtk-shell: Work around non-working startup notifications
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/texture-purge-on-nvidia: 1/71] gtk-shell: Work around non-working startup notifications
- Date: Mon, 14 Jan 2019 20:59:06 +0000 (UTC)
commit 66b9150771ffa0c1fba84c637434d18ed145fa6f
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]