diff --git a/speedwm.c b/speedwm.c index e0b9a31..dabacb5 100644 --- a/speedwm.c +++ b/speedwm.c @@ -2877,6 +2877,8 @@ setgaps(int oh, int ov, int ih, int iv) selmon->gappih = ih; selmon->gappiv = iv; + selmon->pertag->gaps[selmon->pertag->curtag] = ((oh & 0xFF) << 0) | ((ov & 0xFF) << 8) | ((ih & 0xFF) << 16) | ((iv & 0xFF) << 24); + arrange(selmon); } @@ -5695,38 +5697,37 @@ view(const Arg *arg) for (m = mons; m; m = m->next) m->seltags ^= 1; if (arg->ui & TAGMASK) { - for (m = mons; m; m = m->next) - m->tagset[m->seltags] = arg->ui & TAGMASK; + for (m = mons; m; m = m->next) + m->tagset[m->seltags] = arg->ui & TAGMASK; - selmon->pertag->prevtag = selmon->pertag->curtag; + if (pertag) { + selmon->pertag->prevtag = selmon->pertag->curtag; - if (arg->ui == ~0) - selmon->pertag->curtag = 0; - else { - for (i = 0; !(arg->ui & 1 << i); i++) ; - selmon->pertag->curtag = i + 1; - } - tmptag = selmon->pertag->prevtag; - - if (pertag) { + if (arg->ui == ~0) + selmon->pertag->curtag = 0; + else { + for (i = 0; !(arg->ui & 1 << i); i++) ; + selmon->pertag->curtag = i + 1; + } + } else { + tmptag = selmon->pertag->prevtag; selmon->pertag->prevtag = selmon->pertag->curtag; selmon->pertag->curtag = tmptag; - - selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag]; - selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag]; - selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag]; - selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt]; - selmon->lt[selmon->sellt^1] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt^1]; - - /* - * Temp removed because these lines cause the first spawned window to tile outside the screen - selmon->gappoh = selmon->pertag->gaps[selmon->pertag->curtag]; - selmon->gappov = selmon->pertag->gaps[selmon->pertag->curtag]; - selmon->gappih = selmon->pertag->gaps[selmon->pertag->curtag]; - selmon->gappiv = selmon->pertag->gaps[selmon->pertag->curtag]; - */ } + selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag]; + selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag]; + selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag]; + selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt]; + selmon->lt[selmon->sellt^1] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt^1]; + + /* + selmon->gappoh = (selmon->pertag->gaps[selmon->pertag->curtag] & 0xff) >> 0; + selmon->gappov = (selmon->pertag->gaps[selmon->pertag->curtag] & 0xff00) >> 8; + selmon->gappih = (selmon->pertag->gaps[selmon->pertag->curtag] & 0xff0000) >> 16; + selmon->gappiv = (selmon->pertag->gaps[selmon->pertag->curtag] & 0xff000000) >> 24; + */ + if (selmon->showbar != selmon->pertag->showbars[selmon->pertag->curtag]) togglebar(NULL);