Fix pointer events for fullscreen views

master
emersion 6 years ago
parent 2ecba101fd
commit b336564511

@ -234,6 +234,10 @@ struct sway_container *container_at(struct sway_container *workspace,
double lx, double ly, struct wlr_surface **surface, double lx, double ly, struct wlr_surface **surface,
double *sx, double *sy); double *sx, double *sy);
struct sway_container *container_at_view(struct sway_container *view,
double lx, double ly, struct wlr_surface **surface,
double *sx, double *sy);
/** /**
* Apply the function for each descendant of the container breadth first. * Apply the function for each descendant of the container breadth first.
*/ */

@ -99,7 +99,8 @@ static struct sway_container *container_at_coords(
return ws; return ws;
} }
if (ws->sway_workspace->fullscreen) { if (ws->sway_workspace->fullscreen) {
return container_at(ws, lx, ly, surface, sx, sy); return container_at_view(ws->sway_workspace->fullscreen, lx, ly,
surface, sx, sy);
} }
if ((*surface = layer_surface_at(output, if ((*surface = layer_surface_at(output,
&output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP], &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP],

@ -535,7 +535,7 @@ struct sway_container *container_parent(struct sway_container *container,
return container; return container;
} }
static struct sway_container *container_at_view(struct sway_container *swayc, struct sway_container *container_at_view(struct sway_container *swayc,
double lx, double ly, double lx, double ly,
struct wlr_surface **surface, double *sx, double *sy) { struct wlr_surface **surface, double *sx, double *sy) {
if (!sway_assert(swayc->type == C_VIEW, "Expected a view")) { if (!sway_assert(swayc->type == C_VIEW, "Expected a view")) {

Loading…
Cancel
Save