Simplify screen_move_client_prev/next

This commit is contained in:
Martin Duquesnoy 2012-01-31 21:05:24 +01:00
parent f36d60de45
commit 5e3c44824d

View File

@ -126,38 +126,30 @@ uicb_screen_prev(Uicb cmd)
screen_select(SLIST_FIRST(&W->h.screen)); screen_select(SLIST_FIRST(&W->h.screen));
} }
static void
screen_move_client(struct client *c, struct screen *s)
{
tag_client(s->seltag, c);
}
void void
uicb_screen_move_client_next(Uicb cmd) uicb_screen_move_client_next(Uicb cmd)
{ {
struct screen *s; struct screen *s = SLIST_NEXT(W->screen, next);;
(void)cmd; (void)cmd;
if(!(s = SLIST_NEXT(W->screen, next))) if(!s)
s = SLIST_FIRST(&W->h.screen); s = SLIST_FIRST(&W->h.screen);
screen_move_client(W->client, s); if(W->client)
tag_client(s->seltag, W->client);
} }
void void
uicb_screen_move_client_prev(Uicb cmd) uicb_screen_move_client_prev(Uicb cmd)
{ {
struct screen *s; struct screen *s = SLIST_FIRST(&W->h.screen);
(void)cmd; (void)cmd;
SLIST_FOREACH(s, &W->h.screen, next) while(SLIST_NEXT(s, next) && SLIST_NEXT(s, next) != s)
if(SLIST_NEXT(W->screen, next) == s) s = SLIST_NEXT(s, next);
{
screen_move_client(W->client, s);
return;
}
screen_move_client(W->client, SLIST_FIRST(&W->h.screen)); if(W->client)
tag_client(s->seltag, W->client);
} }
void void