From: Fernando Tarlá Cardoso Lemos Date: Thu, 27 Jan 2011 23:09:48 +0000 (-0200) Subject: Don't mess with the focus if we're not killing. X-Git-Tag: tree-pr2~79 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=f465b3c11dbc10b037ea3882a8892d929a25a1de;p=i3%2Fi3 Don't mess with the focus if we're not killing. If we're not killing the mapped window and we're not killing the parent window either in tree_close, then there's no reason to try to change the focus. This fixes focus issues when moving a container around another container (move up, left, bottom, right). --- diff --git a/src/tree.c b/src/tree.c index aa79587b..9a2aab96 100644 --- a/src/tree.c +++ b/src/tree.c @@ -177,9 +177,14 @@ void tree_close(Con *con, bool kill_window, bool dont_kill_parent) { } if (was_mapped || con == focused) { - DLOG("focusing %p / %s\n", next, next->name); - /* TODO: check if the container (or one of its children) was focused */ - con_focus(next); + if (kill_window || !dont_kill_parent) { + DLOG("focusing %p / %s\n", next, next->name); + /* TODO: check if the container (or one of its children) was focused */ + con_focus(next); + } + else { + DLOG("not focusing because we're not killing anybody"); + } } else { DLOG("not focusing, was not mapped\n"); }