summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-06-10 16:19:08 +0000
committerDana Jansens <danakj@orodu.net>2007-06-10 16:19:08 +0000
commit897c70e8dd8e3f01c5f90f5a89c82762508e6667 (patch)
tree0a1400a0b9971b387105b50252d7ff1a1ce6dd30
parent33fe8d4470272db6cead0c550d32f5db99e285b7 (diff)
frigging gtk frig.
-rw-r--r--openbox/client.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 634b5180..dbe203a6 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -3570,17 +3570,19 @@ void client_activate(ObClient *self, gboolean here, gboolean user)
guint32 last_time = focus_client ? focus_client->user_time : CurrentTime;
gboolean allow = FALSE;
- /* if the request came from the user, or if nothing is focused, then grant
- the request.
- if the currently focused app doesn't set a user_time, then it can't
+ /* if the currently focused app doesn't set a user_time, then it can't
benefit from any focus stealing prevention.
+
+ if the timestamp is missing in the request then let it go through
+ even if it is source=app, because EVERY APPLICATION DOES THIS because
+ GTK IS VERY BUGGY AND HARDCODES source=application... WHY!?
*/
- if (user || !focus_client || !last_time)
+ if (!last_time || !event_curtime)
allow = TRUE;
/* otherwise, if they didn't give a time stamp or if it is too old, they
don't get focus */
else
- allow = event_curtime && event_time_after(event_curtime, last_time);
+ allow = event_time_after(event_curtime, last_time);
ob_debug_type(OB_DEBUG_FOCUS,
"Want to activate window 0x%x with time %u (last time %u), "