]> Dogcows Code - chaz/openbox/blobdiff - openbox/event.c
make better?
[chaz/openbox] / openbox / event.c
index 1430c3d23af36b73819ac2a169f2780d24db17b1..7e0dc0aaf0aba1a1bf115fe59fdcb8fe580ac3c1 100644 (file)
@@ -248,9 +248,9 @@ void event_process(XEvent *e)
                 /* secret magic way of event_process telling us that no client
                    was found for the FocusIn event */
                 if (fi.xfocus.window == None)
-                    focus_set_client(NULL);
+                    focus_fallback(FALSE);
             } else
-                focus_set_client(NULL);
+                focus_fallback(FALSE);
         }
        break;
     case EnterNotify:
@@ -349,17 +349,21 @@ static void event_handle_client(Client *client, XEvent *e)
         engine_frame_adjust_focus(client->frame);
        break;
     case EnterNotify:
-        if (ob_state == State_Starting) {
-            /* move it to the top of the focus order */
-            guint desktop = client->desktop;
-            if (desktop == DESKTOP_ALL) desktop = screen_desktop;
-            focus_order[desktop] = g_list_remove(focus_order[desktop], client);
-            focus_order[desktop] = g_list_prepend(focus_order[desktop],client);
-        } else {
-            if (!config_get("focusFollowsMouse", Config_Bool, &focus_follow))
-                g_assert_not_reached();
-            if (focus_follow.bool)
-                client_focus(client);
+        if (client_normal(client)) {
+            if (ob_state == State_Starting) {
+                /* move it to the top of the focus order */
+                guint desktop = client->desktop;
+                if (desktop == DESKTOP_ALL) desktop = screen_desktop;
+                focus_order[desktop] = g_list_remove(focus_order[desktop],
+                                                     client);
+                focus_order[desktop] = g_list_prepend(focus_order[desktop],
+                                                      client);
+            } else {
+                if (!config_get("focusFollowsMouse",Config_Bool,&focus_follow))
+                    g_assert_not_reached();
+                if (focus_follow.bool)
+                    client_focus(client);
+            }
         }
         break;
     case ConfigureRequest:
This page took 0.021718 seconds and 4 git commands to generate.