summaryrefslogtreecommitdiffhomepage
path: root/patch/cyclelayouts.c
blob: 4fdc873da34db3735357ca5ab115aaf948fc3166 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void
cyclelayout(const Arg *arg) {
	Layout *l;
	for(l = (Layout *)layouts; l != selmon->lt[selmon->sellt]; l++);
	if(arg->i > 0) {
		if(l->symbol && (l + 1)->symbol)
			setlayout(&((Arg) { .v = (l + 1) }));
		else
			setlayout(&((Arg) { .v = layouts }));
	} else {
		if(l != layouts && (l - 1)->symbol)
			setlayout(&((Arg) { .v = (l - 1) }));
		else
			setlayout(&((Arg) { .v = &layouts[LENGTH(layouts) - 2] }));
	}
}