mirror of
https://github.com/swaywm/sway.git
synced 2024-11-22 07:51:28 +00:00
input/seatop_default: fix focusing floating titles
When clicking on the titlebar of a floating container (or descendant of a floating container), the top-level floating container was being focused and then allowing you to move the top-level floating container. This made it so you couldn't switch to a different tab/stack within the floating container. With this patch, the focus inactive view for the container that the titlebar is associated with is focused, then the traversal to the top-level floating container is performed to use with the move floating operation.
This commit is contained in:
parent
0278c4db6f
commit
2b51c5b294
|
@ -339,10 +339,11 @@ static void handle_button(struct sway_seat *seat, uint32_t time_msec,
|
||||||
state == WLR_BUTTON_PRESSED) {
|
state == WLR_BUTTON_PRESSED) {
|
||||||
uint32_t btn_move = config->floating_mod_inverse ? BTN_RIGHT : BTN_LEFT;
|
uint32_t btn_move = config->floating_mod_inverse ? BTN_RIGHT : BTN_LEFT;
|
||||||
if (button == btn_move && (mod_pressed || on_titlebar)) {
|
if (button == btn_move && (mod_pressed || on_titlebar)) {
|
||||||
|
seat_set_focus_container(seat,
|
||||||
|
seat_get_focus_inactive_view(seat, &cont->node));
|
||||||
while (cont->parent) {
|
while (cont->parent) {
|
||||||
cont = cont->parent;
|
cont = cont->parent;
|
||||||
}
|
}
|
||||||
seat_set_focus_container(seat, cont);
|
|
||||||
seatop_begin_move_floating(seat, cont);
|
seatop_begin_move_floating(seat, cont);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue