struct wl_listener request_fullscreen;
struct wl_listener set_title;
struct wl_listener set_app_id; /* class on xwayland */
+ struct wl_listener set_decorations; /* xwayland only */
struct wl_listener new_popup; /* xdg-shell only */
struct wl_listener new_subsurface; /* xdg-shell only */
};
WLR_XWAYLAND_SURFACE_DECORATIONS_ALL;
}
+static void
+handle_set_decorations(struct wl_listener *listener, void *data) {
+ struct view *view = wl_container_of(listener, view, set_decorations);
+ view_set_decorations(view, want_deco(view));
+}
+
static void
top_left_edge_boundary_check(struct view *view)
{
view->set_app_id.notify = handle_set_class;
wl_signal_add(&xsurface->events.set_class, &view->set_app_id);
+ view->set_decorations.notify = handle_set_decorations;
+ wl_signal_add(&xsurface->events.set_decorations,
+ &view->set_decorations);
+
wl_list_insert(&view->server->views, &view->link);
}