mirror of
https://github.com/swaywm/sway.git
synced 2024-11-26 18:01:29 +00:00
Make mod+resize work in any direction
This makes it so if you hold mod and right click on a surface to resize it, the resize direction is chosen based on which quarter of the surface you've clicked. The previous implementation only resized towards the bottom right.
This commit is contained in:
parent
1a9179dbab
commit
e7c10f1871
|
@ -460,6 +460,12 @@ static void dispatch_cursor_button_floating(struct sway_cursor *cursor,
|
||||||
bool resizing_via_mod = button == BTN_RIGHT && mod_pressed;
|
bool resizing_via_mod = button == BTN_RIGHT && mod_pressed;
|
||||||
if ((resizing_via_border || resizing_via_mod) &&
|
if ((resizing_via_border || resizing_via_mod) &&
|
||||||
state == WLR_BUTTON_PRESSED) {
|
state == WLR_BUTTON_PRESSED) {
|
||||||
|
if (edge == WLR_EDGE_NONE) {
|
||||||
|
edge |= cursor->cursor->x > cont->x + cont->width / 2 ?
|
||||||
|
WLR_EDGE_RIGHT : WLR_EDGE_LEFT;
|
||||||
|
edge |= cursor->cursor->y > cont->y + cont->height / 2 ?
|
||||||
|
WLR_EDGE_BOTTOM : WLR_EDGE_TOP;
|
||||||
|
}
|
||||||
seat_begin_resize(seat, cont, button, edge);
|
seat_begin_resize(seat, cont, button, edge);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue