input: focus floating container when clicked on border

Fixes #7209.
This commit is contained in:
Tudor Brindus 2022-10-09 21:15:41 -04:00 committed by Simon Ser
parent 99acdb4e62
commit 09354db878

View file

@ -446,6 +446,7 @@ static void handle_button(struct sway_seat *seat, uint32_t time_msec,
state == WLR_BUTTON_PRESSED) { state == WLR_BUTTON_PRESSED) {
// Via border // Via border
if (button == BTN_LEFT && resize_edge != WLR_EDGE_NONE) { if (button == BTN_LEFT && resize_edge != WLR_EDGE_NONE) {
seat_set_focus_container(seat, cont);
seatop_begin_resize_floating(seat, cont, resize_edge); seatop_begin_resize_floating(seat, cont, resize_edge);
return; return;
} }
@ -460,6 +461,7 @@ static void handle_button(struct sway_seat *seat, uint32_t time_msec,
WLR_EDGE_RIGHT : WLR_EDGE_LEFT; WLR_EDGE_RIGHT : WLR_EDGE_LEFT;
edge |= cursor->cursor->y > floater->pending.y + floater->pending.height / 2 ? edge |= cursor->cursor->y > floater->pending.y + floater->pending.height / 2 ?
WLR_EDGE_BOTTOM : WLR_EDGE_TOP; WLR_EDGE_BOTTOM : WLR_EDGE_TOP;
seat_set_focus_container(seat, floater);
seatop_begin_resize_floating(seat, floater, edge); seatop_begin_resize_floating(seat, floater, edge);
return; return;
} }