diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-06-10 16:19:08 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-06-10 16:19:08 +0000 |
| commit | 897c70e8dd8e3f01c5f90f5a89c82762508e6667 (patch) | |
| tree | 0a1400a0b9971b387105b50252d7ff1a1ce6dd30 /openbox | |
| parent | 33fe8d4470272db6cead0c550d32f5db99e285b7 (diff) | |
frigging gtk frig.
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/client.c | 12 |
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), " |
