layer shell and others
This commit is contained in:
+12
-6
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user