diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-03-11 14:17:14 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-03-11 14:17:14 +0000 |
| commit | 2c98204dfedafcf3d2fa010c1b6ac72110256c8c (patch) | |
| tree | 339da1c45aeb87f847cec02f2cdcd4fc1ce01ac0 /openbox | |
| parent | 6a61f0c433eeecfb289ab6c9db635e25958a6340 (diff) | |
make _NET_ACTIVE_WINDOW requests look at the timestamp when the user didn't
request it
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/client.c | 11 | ||||
| -rw-r--r-- | 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); |
