From 2c98204dfedafcf3d2fa010c1b6ac72110256c8c Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sun, 11 Mar 2007 14:17:14 +0000 Subject: [PATCH] make _NET_ACTIVE_WINDOW requests look at the timestamp when the user didn't request it --- openbox/client.c | 11 ++++++++--- openbox/client.h | 3 +-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/openbox/client.c b/openbox/client.c index cbef506e..c32a4635 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -1859,6 +1859,8 @@ void client_update_user_time(ObClient *self, gboolean new_event) */ if (new_event) client_last_user_time = time; + + /*ob_debug("window 0x%x user time %u\n", self->window, time);*/ } } @@ -2950,14 +2952,17 @@ void client_unfocus(ObClient *self) } } -void client_activate(ObClient *self, gboolean here, gboolean user, - Time timestamp) +void client_activate(ObClient *self, gboolean here, gboolean user, Time time) { /* XXX do some stuff here if user is false to determine if we really want to activate it or not (a parent or group member is currently active)? */ - if (!user) + ob_debug("Want to activate window 0x%x with time %u (last time %u), " + "source=%s\n", + self->window, time, client_last_user_time, + (user ? "user" : "application")); + if (!user && time && time < client_last_user_time) client_hilite(self, TRUE); else { if (client_normal(self) && screen_showing_desktop) diff --git a/openbox/client.h b/openbox/client.h index 04849b63..043a6def 100644 --- a/openbox/client.h +++ b/openbox/client.h @@ -486,8 +486,7 @@ void client_unfocus(ObClient *self); otherwise, it means an application requested it on its own @param timestamp The time at which the activate was requested. */ -void client_activate(ObClient *self, gboolean here, gboolean user, - Time timestamp); +void client_activate(ObClient *self, gboolean here, gboolean user, Time time); /*! Calculates the stacking layer for the client window */ void client_calc_layer(ObClient *self); -- 2.45.2