xwayland: handle set_override_redirect events

This is needed to allow X11 applications to create surfaces as
non-override_redirect and then change them to override_redirect later

Without this gitk-menus and rofi are treated as xwayland-views with
associated server-side-decoration and forced positioning.
This commit is contained in:
Johan Malm 2022-05-03 19:44:31 +01:00 committed by Johan Malm
parent cbed8acf01
commit 81f216b6a2
3 changed files with 37 additions and 3 deletions

View file

@ -333,6 +333,7 @@ struct view {
struct wl_listener set_title;
struct wl_listener set_app_id; /* class on xwayland */
struct wl_listener set_decorations; /* xwayland only */
struct wl_listener override_redirect; /* xwayland only */
struct wl_listener new_popup; /* xdg-shell only */
};
@ -371,8 +372,9 @@ void xdg_surface_new(struct wl_listener *listener, void *data);
#if HAVE_XWAYLAND
void xwayland_surface_new(struct wl_listener *listener, void *data);
void xwayland_unmanaged_create(struct server *server,
struct xwayland_unmanaged *xwayland_unmanaged_create(struct server *server,
struct wlr_xwayland_surface *xsurface);
void unmanaged_handle_map(struct wl_listener *listener, void *data);
#endif
void view_set_activated(struct view *view, bool activated);