event: only map if the client is visible

Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
Julien Danjou 2008-06-28 11:47:29 +02:00
parent 2af9121ca2
commit e1e12f4c0a
1 changed files with 6 additions and 11 deletions

17
event.c
View File

@ -445,17 +445,12 @@ event_handle_maprequest(void *data __attribute__ ((unused)),
} }
else if((c = client_getbywin(ev->window))) else if((c = client_getbywin(ev->window)))
{ {
tag_array_t *tags = &globalconf.screens[c->screen].tags; if(client_isvisible(c, c->screen))
{
xcb_map_window(globalconf.connection, ev->window); xcb_map_window(globalconf.connection, ev->window);
/* it will be raised, so just update ourself */
/* add tags currently shown */ client_raise(c);
for(int i = 0; i < tags->len; i++) }
if(tags->tab[i]->selected)
tag_client(c, tags->tab[i]);
/* it will be raised, so just update ourself */
client_raise(c);
} }
else else
{ {