all repos — openbox @ 897c70e8dd8e3f01c5f90f5a89c82762508e6667

openbox fork - make it a bit more like ryudo

frigging gtk frig.
Dana Jansens danakj@orodu.net
commit

897c70e8dd8e3f01c5f90f5a89c82762508e6667

parent

33fe8d4470272db6cead0c550d32f5db99e285b7

1 files changed, 7 insertions(+), 5 deletions(-)

jump to
M openbox/client.copenbox/client.c

@@ -3570,17 +3570,19 @@ {

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), "