]> Dogcows Code - chaz/openbox/blobdiff - openbox/event.c
update to previous changes
[chaz/openbox] / openbox / event.c
index a3ca558521ded5d6fe1acaa2b2cb9d97a74bad1d..a4090b0c4d5a210d5cd0dd9b1b194e8803de2511 100644 (file)
@@ -43,7 +43,6 @@
 #include "translate.h"
 
 #include <X11/Xlib.h>
-#include <X11/keysym.h>
 #include <X11/Xatom.h>
 #include <glib.h>
 
@@ -504,6 +503,7 @@ static void event_process(const XEvent *ec, gpointer data)
             frame_adjust_focus(client->frame, TRUE);
             focus_set_client(client);
             client_calc_layer(client);
+            client_bring_helper_windows(client);
         }
     } else if (e->type == FocusOut) {
         gboolean nomove = FALSE;
@@ -676,7 +676,7 @@ void event_enter_client(ObClient *client)
 {
     g_assert(config_focus_follow);
 
-    if (client_normal(client) && client_can_focus(client)) {
+    if (client_enter_focusable(client) && client_can_focus(client)) {
         if (config_focus_delay) {
             ObFocusDelayData *data;
 
@@ -1046,9 +1046,10 @@ static void event_handle_client(ObClient *client, XEvent *e)
                        (e->xclient.data.l[0] == 2 ? "user" : "INVALID"))));
             /* XXX make use of data.l[2] !? */
             event_curtime = e->xclient.data.l[1];
-            ob_debug_type(OB_DEBUG_APP_BUGS,
-                          "_NET_ACTIVE_WINDOW message for window %s is "
-                          "missing a timestamp\n", client->title);
+            if (event_curtime == 0)
+                ob_debug_type(OB_DEBUG_APP_BUGS,
+                              "_NET_ACTIVE_WINDOW message for window %s is "
+                              "missing a timestamp\n", client->title);
             client_activate(client, FALSE,
                             (e->xclient.data.l[0] == 0 ||
                              e->xclient.data.l[0] == 2));
This page took 0.025103 seconds and 4 git commands to generate.