fix focus on tag change

This commit is contained in:
Jérémy Anger 2012-04-13 14:56:59 +02:00
parent 762700bd2c
commit 9cc33f8904

View File

@ -61,8 +61,20 @@ tag_screen(struct screen *s, struct tag *t)
SLIST_FOREACH(c, &W->h.client, next) SLIST_FOREACH(c, &W->h.client, next)
if (c->flags & CLIENT_IGNORE_TAG) if (c->flags & CLIENT_IGNORE_TAG)
tag_client(c->screen->seltag, c); tag_client(c->screen->seltag, c);
clients_arrange_map(); clients_arrange_map();
/* Update focus */
if (t->sel == NULL)
{
SLIST_FOREACH(c, &W->h.client, next)
if (c->tag == t)
{
client_focus(c);
break;
}
}
if(!SLIST_EMPTY(&t->clients) && !(W->flags & WMFS_SCAN)) if(!SLIST_EMPTY(&t->clients) && !(W->flags & WMFS_SCAN))
client_focus( client_tab_next(t->sel)); client_focus( client_tab_next(t->sel));