From 34bd1fb6da7a35cfd96f39f087484c47802b33ff Mon Sep 17 00:00:00 2001 From: Johan Malm Date: Thu, 3 Mar 2022 17:53:26 +0000 Subject: [PATCH] layers: unconstrain popups correctly ...to show popups when using @Consolatis's example panel https://github.com/Consolatis/wl_framework --- src/layers.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/layers.c b/src/layers.c index ec7f6c6e..6f1d5292 100644 --- a/src/layers.c +++ b/src/layers.c @@ -202,20 +202,22 @@ popup_unconstrain(struct lab_layer_popup *popup) layer->scene_layer_surface->layer_surface->output->data; struct wlr_box output_box = { 0 }; - wlr_output_effective_resolution(output->wlr_output, &output_box.width, - &output_box.height); + wlr_output_layout_get_box(output->server->output_layout, + output->wlr_output, &output_box); + + int lx, ly; + wlr_scene_node_coords(popup->scene_node, &lx, &ly); /* * Output geometry expressed in the coordinate system of the toplevel * parent of popup */ struct wlr_box output_toplevel_sx_box = { - .x = -layer->geo.x, - .y = -layer->geo.y, + .x = output_box.x - lx, + .y = output_box.y - ly, .width = output_box.width, .height = output_box.height, }; - wlr_xdg_popup_unconstrain_from_box(wlr_popup, &output_toplevel_sx_box); }