compositor: Add create_surface_signal
This signal is emitted when a client creates a surface, not for internal
surfaces.
diff --git a/src/compositor.c b/src/compositor.c
index a298fb8..ea27be4 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -2183,6 +2183,8 @@
}
wl_resource_set_implementation(surface->resource, &surface_interface,
surface, destroy_surface);
+
+ wl_signal_emit(&ec->create_surface_signal, surface);
}
static void
@@ -3613,6 +3615,7 @@
ec->config = config;
ec->wl_display = display;
wl_signal_init(&ec->destroy_signal);
+ wl_signal_init(&ec->create_surface_signal);
wl_signal_init(&ec->activate_signal);
wl_signal_init(&ec->transform_signal);
wl_signal_init(&ec->kill_signal);
diff --git a/src/compositor.h b/src/compositor.h
index 15d6e03..af41b00 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -574,6 +574,7 @@
struct weston_config *config;
/* surface signals */
+ struct wl_signal create_surface_signal;
struct wl_signal activate_signal;
struct wl_signal transform_signal;