]> git.sur5r.net Git - i3/i3/blobdiff - src/handlers.c
Free ran_assignments
[i3/i3] / src / handlers.c
index e1671c3b4bec2df918fdf70d89d38a29ee77c0d1..50fd85669223267e123a97ebe5bdfea09c9ab1e3 100644 (file)
@@ -1207,6 +1207,14 @@ static bool handle_clientleader_change(void *data, xcb_connection_t *conn, uint8
  */
 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;