Você provavelmente já resolveu o problema (seja descobrindo isso por si mesmo ou ignorando-o), mas o problema que você estava vendo é que o patch ao qual você está vinculando espera que o layout do bstack já esteja corrigido no dwm. Esta é uma forma muito ruim, já que o patch bstack / bstackhoriz não modifica diretamente o dwm.c por padrão (ele coloca dois layouts em seu próprio arquivo), então o patch foi escrito por alguém que tomou a iniciativa de colocar o bstack e o bstackhoriz no dwm .c. Isso significa que o patch NUNCA será aplicado contra uma compilação dwm limpa.
Longa história curta - você pode ignorar completamente o erro do deslocamento. Você pode simplesmente executar make
e terá lacunas inúteis no seu layout lado a lado.
(Uma palavra de aviso também: Esse patch assume topbar
como True
em config.h
. Se você tiver topbar
definido como False
, verá problemas estranhos em que as lacunas são exatamente direito em todos, mas na parte inferior da janela.Você pode corrigir isso modificando resizeclient
em dwm.c
para ficar assim:
void
resizeclient(Client *c, int x, int y, int w, int h) {
XWindowChanges wc;
gap = c->isfloating ? 0 : c->mon->lt[c->mon->sellt]->addgaps ? gappx : 0;
c->oldx = c->x; c->x = wc.x = x + gap;
c->oldy = c->y; c->y = wc.y = y + gap;
c->oldw = c->w; c->w = wc.width = w - (gap ? (x + w + (c->bw * 2) == c->mon->mx + c->mon->mw ? 2 : 1) * gap : 0);
if(topbar) {
c->oldh = c->h; c->h = wc.height = h - (gap ? (y + h + (c->bw * 2) == c->mon->my + c->mon->mh ? 2 : 1) * gap : 0);
} else {
c->oldh = c->h; c->h = wc.height = h - (gap ? (y + h + bh + (c->bw * 2) == c->mon->my + c->mon->mh ? 2 : 1) * gap : 0);
}
wc.border_width = c->bw;
XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
configure(c);
XSync(dpy, False);
}