make _NET_ACTIVE_WINDOW requests look at the timestamp when the user didn't
request it
This commit is contained in:
parent
6a61f0c433
commit
2c98204dfe
2 changed files with 9 additions and 5 deletions
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue