diff --git a/src/fetch/monitor.h b/src/fetch/monitor.h index 655acdc..9058128 100644 --- a/src/fetch/monitor.h +++ b/src/fetch/monitor.h @@ -16,6 +16,16 @@ Monitor *dirtomon(enum wlr_direction dir) { } bool is_scroller_layout(Monitor *m) { + + if (!m->pertag->curtag && + strcmp(m->pertag->ltidxs[m->pertag->prevtag]->name, "scroller") == 0) + return true; + + if (!m->pertag->curtag && + strcmp(m->pertag->ltidxs[m->pertag->prevtag]->name, + "vertical_scroller") == 0) + return true; + if (strcmp(m->pertag->ltidxs[m->pertag->curtag]->name, "scroller") == 0) return true; if (strcmp(m->pertag->ltidxs[m->pertag->curtag]->name, diff --git a/src/mango.c b/src/mango.c index 9fc544d..a6f3e13 100644 --- a/src/mango.c +++ b/src/mango.c @@ -1353,11 +1353,12 @@ arrange(Monitor *m, bool want_animation) { if (m->isoverview) { overviewlayout.arrange(m); - } else if (m && m->pertag->ltidxs[m->pertag->curtag]->arrange) { - if (m->pertag->curtag) - m->pertag->ltidxs[m->pertag->curtag]->arrange(m); - else - m->pertag->ltidxs[m->pertag->prevtag]->arrange(m); + } else if (m && m->pertag->curtag && + m->pertag->ltidxs[m->pertag->curtag]->arrange) { + m->pertag->ltidxs[m->pertag->curtag]->arrange(m); + } else if (m && m->pertag->prevtag && + m->pertag->ltidxs[m->pertag->prevtag]->arrange) { + m->pertag->ltidxs[m->pertag->prevtag]->arrange(m); } motionnotify(0, NULL, 0, 0, 0, 0);