Bugfix: Don’t update focus when container is not mapped
This commit is contained in:
parent
8d5421e6a4
commit
41eb810531
11
src/x.c
11
src/x.c
|
@ -589,10 +589,15 @@ void x_push_changes(Con *con) {
|
||||||
if (focused->window != NULL)
|
if (focused->window != NULL)
|
||||||
to_focus = focused->window->id;
|
to_focus = focused->window->id;
|
||||||
|
|
||||||
|
DLOG("focused_id = 0x%08x, to_focus = 0x%08x\n", focused_id, to_focus);
|
||||||
if (focused_id != to_focus) {
|
if (focused_id != to_focus) {
|
||||||
LOG("Updating focus (focused: %p / %s)\n", focused, focused->name);
|
if (!focused->mapped) {
|
||||||
xcb_set_input_focus(conn, XCB_INPUT_FOCUS_POINTER_ROOT, to_focus, XCB_CURRENT_TIME);
|
DLOG("Not updating focus (to %p / %s), focused window is not mapped.\n", focused, focused->name);
|
||||||
focused_id = to_focus;
|
} else {
|
||||||
|
LOG("Updating focus (focused: %p / %s)\n", focused, focused->name);
|
||||||
|
xcb_set_input_focus(conn, XCB_INPUT_FOCUS_POINTER_ROOT, to_focus, XCB_CURRENT_TIME);
|
||||||
|
focused_id = to_focus;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
xcb_flush(conn);
|
xcb_flush(conn);
|
||||||
|
|
Loading…
Reference in New Issue