sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 46280460a58e6517b81e55eb0b027ad12aaed834
parent 9db859585e79d468ff79f41db6bc0950fb285a5a
Author: Tony Crisci <tony@dubstepdish.com>
Date:   Sun,  8 Apr 2018 11:34:38 -0400

push all parents of focused container in focus stack

Diffstat:
Msway/input/seat.c | 15++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/sway/input/seat.c b/sway/input/seat.c @@ -413,10 +413,23 @@ void seat_set_focus_warp(struct sway_seat *seat, if (container) { struct sway_seat_container *seat_con = seat_container_from_container(seat, container); - if (!seat_con) { + if (seat_con == NULL) { return; } + // put all the anscestors of this container on top of the focus stack + struct sway_seat_container *parent = + seat_container_from_container(seat, + seat_con->container->parent); + while (parent) { + wl_list_remove(&parent->link); + wl_list_insert(&seat->focus_stack, &parent->link); + + parent = + seat_container_from_container(seat, + parent->container->parent); + } + wl_list_remove(&seat_con->link); wl_list_insert(&seat->focus_stack, &seat_con->link);