From b43161fd45c794448d17e705413949dbb62727db Mon Sep 17 00:00:00 2001 From: Taiyu Date: Mon, 10 Aug 2015 00:05:44 -0700 Subject: fixed focus_parent, moved into move_focus() function --- sway/movement.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'sway/movement.c') diff --git a/sway/movement.c b/sway/movement.c index 108e2588..4503a716 100644 --- a/sway/movement.c +++ b/sway/movement.c @@ -9,6 +9,20 @@ int move_focus(enum movement_direction direction) { swayc_t *current = get_focused_container(&root_container); swayc_t *parent = current->parent; + if(direction == MOVE_PARENT) { + current = parent; + parent = parent->parent; + if(parent->type == C_ROOT) { + sway_log(L_DEBUG, "Focus cannot move to parent"); + return 1; + } else { + sway_log(L_DEBUG, "Moving focus away from %p", current); + unfocus_all(parent); + focus_view (parent); + return 0; + } + } + while (true) { sway_log(L_DEBUG, "Moving focus away from %p", current); -- cgit v1.2.3