mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-13 04:10:13 +00:00
gdk/wayland: Perform xdg_activation on gdk_toplevel_set_startup_id
This call has everything to perform activation as specified by the xdg_activation protocol, notably a surface to activate as opposed to gdk_display_notify_startup_complete(). Make activation happen here, so that the surface gets activated when its gets a startup ID assigned.
This commit is contained in:
parent
6f01f846dc
commit
5aeabdb3d4
@ -3871,6 +3871,25 @@ static void
|
||||
gdk_wayland_surface_set_startup_id (GdkSurface *surface,
|
||||
const char *startup_id)
|
||||
{
|
||||
GdkWaylandSurface *wayland_surface = GDK_WAYLAND_SURFACE (surface);
|
||||
GdkDisplay *display = gdk_surface_get_display (surface);
|
||||
GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (display);
|
||||
gchar *free_me = NULL;
|
||||
|
||||
if (!startup_id)
|
||||
{
|
||||
free_me = g_steal_pointer (&display_wayland->startup_notification_id);
|
||||
startup_id = free_me;
|
||||
}
|
||||
|
||||
if (startup_id)
|
||||
{
|
||||
xdg_activation_v1_activate (display_wayland->xdg_activation,
|
||||
startup_id,
|
||||
wayland_surface->display_server.wl_surface);
|
||||
}
|
||||
|
||||
g_free (free_me);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
Loading…
Reference in New Issue
Block a user