skip overview layout on cycling
@@ -1177,17 +1177,25 @@ 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) }));
+ if(l->symbol && (l + 1)->symbol) {
+ if ((l + 1)->arrange == &overviewlayout)
+ setlayout(&((Arg) { .v = (l + 2) }));
else
+ setlayout(&((Arg) { .v = (l + 1) }));
+ } else {
setlayout(&((Arg) { .v = layouts }));
+ }
} else {
- if(l != layouts && (l - 1)->symbol)
- setlayout(&((Arg) { .v = (l - 1) }));
+ if(l != layouts && (l - 1)->symbol) {
+ if ((l - 1)->arrange == &overviewlayout)
+ setlayout(&((Arg) { .v = (l - 2) }));
else
+ setlayout(&((Arg) { .v = (l - 1) }));
+ } else {
setlayout(&((Arg) { .v = &layouts[LENGTH(layouts) - 2] }));
}
}
+}
void
destroynotify(XEvent *e)
