cyclelayouts.c (273B)
1 void 2 cyclelayout(const Arg *arg) 3 { 4 int i; 5 int num_layouts = LENGTH(layouts); 6 7 for (i = 0; i < num_layouts && &layouts[i] != selmon->lt[selmon->sellt]; i++); 8 i += arg->i; 9 setlayout(&((Arg) { .v = &layouts[(i % num_layouts + num_layouts) % num_layouts] })); // modulo 10 }