layer shell and others

This commit is contained in:
2026-05-17 20:03:02 +07:00
parent 62dbb3a54e
commit 5d81826183
26 changed files with 3616 additions and 298 deletions
+12 -6
View File
@@ -10,8 +10,9 @@ void xwayland_activate(struct wl_listener *listener, void *data)
UNUSED(data);
absn_toplevel *toplevel = wl_container_of(listener, toplevel, xw_activate);
if (!toplevel_is_unmanaged(toplevel))
if (!toplevel_is_unmanaged(toplevel)) {
wlr_xwayland_surface_activate(toplevel->xw, 1);
}
}
void xwayland_associate(struct wl_listener *listener, void *data)
@@ -20,13 +21,15 @@ void xwayland_associate(struct wl_listener *listener, void *data)
absn_toplevel *toplevel = wl_container_of(listener, toplevel, xw_associate);
LISTEN(toplevel->map, toplevel_map, toplevel->xw->surface->events.map);
LISTEN(toplevel->unmap, toplevel_unmap, toplevel->xw->surface->events.unmap);
LISTEN(toplevel->unmap, toplevel_unmap,
toplevel->xw->surface->events.unmap);
}
void xwayland_dissociate(struct wl_listener *listener, void *data)
{
UNUSED(data);
absn_toplevel *toplevel = wl_container_of(listener, toplevel, xw_dissociate);
absn_toplevel *toplevel =
wl_container_of(listener, toplevel, xw_dissociate);
wl_list_remove(&toplevel->map.link);
wl_list_remove(&toplevel->unmap.link);
@@ -39,13 +42,16 @@ void xwayland_configure(struct wl_listener *listener, void *data)
struct wlr_xwayland_surface_configure_event *event = data;
if (!toplevel->xw->surface || !toplevel->xw->surface->mapped) {
wlr_xwayland_surface_configure(toplevel->xw, event->x, event->y, event->width, event->height);
wlr_xwayland_surface_configure(toplevel->xw, event->x, event->y,
event->width, event->height);
return;
}
if (toplevel_is_unmanaged(toplevel)) {
wlr_scene_node_set_position(&toplevel->scene_tree->node, event->x, event->y);
wlr_xwayland_surface_configure(toplevel->xw, event->x, event->y, event->width, event->height);
wlr_scene_node_set_position(&toplevel->scene_tree->node, event->x,
event->y);
wlr_xwayland_surface_configure(toplevel->xw, event->x, event->y,
event->width, event->height);
return;
}
}