Rerender on button press only when focus changes
On button press events, the only change in state that would presently require rerendering the tree is when the focused window changes.
This commit is contained in:
parent
13db562551
commit
b714878f52
|
@ -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("--> OUTCOME = %p\n", con);
|
||||||
DLOG("type = %d, name = %s\n", con->type, con->name);
|
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 */
|
/* don’t handle dockarea cons, they must not be focused */
|
||||||
if (con->parent->type == CT_DOCKAREA)
|
if (con->parent->type == CT_DOCKAREA)
|
||||||
goto done;
|
goto done;
|
||||||
|
@ -297,7 +300,10 @@ static int route_click(Con *con, xcb_button_press_event_t *event, const bool mod
|
||||||
done:
|
done:
|
||||||
xcb_allow_events(conn, XCB_ALLOW_REPLAY_POINTER, event->time);
|
xcb_allow_events(conn, XCB_ALLOW_REPLAY_POINTER, event->time);
|
||||||
xcb_flush(conn);
|
xcb_flush(conn);
|
||||||
tree_render();
|
|
||||||
|
if (initially_focused != focused)
|
||||||
|
tree_render();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue