workspace_update_urgent_flag(con_get_workspace(con));
ipc_send_window_event("urgent", con);
}
-
- /* Focusing a container with a floating parent should raise it to the top. Since
- * con_focus is called recursively for each parent we don't need to use
- * con_inside_floating(). */
- if (con->type == CT_FLOATING_CON) {
- floating_raise_con(con);
- }
}
/*
*/
static void handle_focus_in(xcb_focus_in_event_t *event) {
DLOG("focus change in, for window 0x%08x\n", event->event);
+
+ if (event->event == root) {
+ DLOG("Received focus in for root window, refocusing the focused window.\n");
+ con_focus(focused);
+ focused_id = XCB_NONE;
+ x_push_changes(croot);
+ }
+
Con *con;
if ((con = con_by_window_id(event->event)) == NULL || con->window == NULL)
return;