aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/wlr/xwayland/xwayland.h2
-rw-r--r--xwayland/xwm.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/include/wlr/xwayland/xwayland.h b/include/wlr/xwayland/xwayland.h
index cb9e35f0..ff08796c 100644
--- a/include/wlr/xwayland/xwayland.h
+++ b/include/wlr/xwayland/xwayland.h
@@ -169,6 +169,8 @@ struct wlr_xwayland_surface {
struct wl_signal set_strut_partial;
struct wl_signal set_override_redirect;
struct wl_signal set_geometry;
+ /* can be used to set initial maximized/fullscreen geometry */
+ struct wl_signal map_request;
struct wl_signal ping_timeout;
} events;
diff --git a/xwayland/xwm.c b/xwayland/xwm.c
index 2f80062a..6322b859 100644
--- a/xwayland/xwm.c
+++ b/xwayland/xwm.c
@@ -218,8 +218,9 @@ static struct wlr_xwayland_surface *xwayland_surface_create(
wl_signal_init(&surface->events.set_decorations);
wl_signal_init(&surface->events.set_strut_partial);
wl_signal_init(&surface->events.set_override_redirect);
- wl_signal_init(&surface->events.ping_timeout);
wl_signal_init(&surface->events.set_geometry);
+ wl_signal_init(&surface->events.map_request);
+ wl_signal_init(&surface->events.ping_timeout);
xcb_get_geometry_reply_t *geometry_reply =
xcb_get_geometry_reply(xwm->xcb_conn, geometry_cookie, NULL);
@@ -1123,6 +1124,7 @@ static void xwm_handle_map_request(struct wlr_xwm *xwm,
return;
}
+ wl_signal_emit_mutable(&xsurface->events.map_request, NULL);
xcb_map_window(xwm->xcb_conn, ev->window);
}