winwatch: always reflow when possible (thanks telephil9)

This commit is contained in:
Sigrid 2021-02-02 11:56:45 +01:00
parent 34ed7f7aa2
commit bd78bad3c7

View file

@ -185,19 +185,21 @@ drawwin(int i)
int int
geometry(void) geometry(void)
{ {
int i, ncols, z; int i, nrows, ncols, z;
Rectangle r; Rectangle r;
z = 0; z = 0;
rows = (Dy(screen->r)-2*MARGIN+PAD)/(font->height+PAD); nrows = (Dy(screen->r)-2*MARGIN+PAD)/(font->height+PAD);
if(rows <= 0) if(nrows <= 0)
rows = 1; nrows = 1;
if(rows*cols < nwin || rows*cols >= nwin*2){ if(nrows != rows){
ncols = nwin <= 0 ? 1 : (nwin+rows-1)/rows; rows = nrows;
if(ncols != cols){ z = 1;
cols = ncols; }
z = 1; ncols = nwin <= 0 ? 1 : (nwin+rows-1)/rows;
} if(ncols != cols){
cols = ncols;
z = 1;
} }
r = Rect(0,0,(Dx(screen->r)-2*MARGIN+PAD)/cols-PAD, font->height); r = Rect(0,0,(Dx(screen->r)-2*MARGIN+PAD)/cols-PAD, font->height);