diff --git a/src/click.c b/src/click.c index 91964b93..9b85b711 100644 --- a/src/click.c +++ b/src/click.c @@ -171,6 +171,9 @@ static int route_click(Con *con, xcb_button_press_event_t *event, const bool mod DLOG("--> OUTCOME = %p\n", con); DLOG("type = %d, name = %s\n", con->type, con->name); + /* if focus changes, we must rerender */ + Con *initially_focused = focused; + /* don’t handle dockarea cons, they must not be focused */ if (con->parent->type == CT_DOCKAREA) goto done; @@ -297,7 +300,10 @@ static int route_click(Con *con, xcb_button_press_event_t *event, const bool mod done: xcb_allow_events(conn, XCB_ALLOW_REPLAY_POINTER, event->time); xcb_flush(conn); - tree_render(); + + if (initially_focused != focused) + tree_render(); + return 0; }