diff options
Diffstat (limited to 'patch/cyclelayouts.c')
| -rw-r--r-- | patch/cyclelayouts.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/patch/cyclelayouts.c b/patch/cyclelayouts.c new file mode 100644 index 0000000..81339bc --- /dev/null +++ b/patch/cyclelayouts.c @@ -0,0 +1,18 @@ +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] })); + } +} + |
