Commit 0bccddb2 authored by Florian Müllner's avatar Florian Müllner Committed by Matthias Clasen

wayland: Set startup ID from GApplication platform data

The GApplication platform data may contain a startup ID that on X11
is used to set the startup notification ID when activated. Do the
same on the wayland backend to make startup notifications work for
DBus-activated applications where the DESKTOP_STARTUP_ID environment
variable is not set.

https://bugzilla.gnome.org/show_bug.cgi?id=768531
parent 75ee402c
......@@ -60,6 +60,17 @@ gtk_application_impl_wayland_handle_window_realize (GtkApplicationImpl *impl,
impl_class->handle_window_realize (impl, window);
}
static void
gtk_application_impl_wayland_before_emit (GtkApplicationImpl *impl,
GVariant *platform_data)
{
const char *startup_notification_id = NULL;
g_variant_lookup (platform_data, "desktop-startup-id", "&s", &startup_notification_id);
gdk_wayland_display_set_startup_notification_id (gdk_display_get_default (), startup_notification_id);
}
static void
gtk_application_impl_wayland_init (GtkApplicationImplWayland *wayland)
{
......@@ -72,4 +83,6 @@ gtk_application_impl_wayland_class_init (GtkApplicationImplWaylandClass *class)
impl_class->handle_window_realize =
gtk_application_impl_wayland_handle_window_realize;
impl_class->before_emit =
gtk_application_impl_wayland_before_emit;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment