ref: bd78bad3c7234679177829e8d3e7ca61c1f7f5a8
parent: 34ed7f7aa25b3d4b6990d454b63b6b11441c3e5a
author: Sigrid <ftrvxmtrx@gmail.com>
date: Tue Feb 2 06:56:45 EST 2021
winwatch: always reflow when possible (thanks telephil9)
--- a/sys/src/cmd/winwatch.c
+++ b/sys/src/cmd/winwatch.c
@@ -185,19 +185,21 @@
int
geometry(void)
{
- int i, ncols, z;
+ int i, nrows, ncols, z;
Rectangle r;
z = 0;
- rows = (Dy(screen->r)-2*MARGIN+PAD)/(font->height+PAD);
- if(rows <= 0)
- rows = 1;
- if(rows*cols < nwin || rows*cols >= nwin*2){
- ncols = nwin <= 0 ? 1 : (nwin+rows-1)/rows;
- if(ncols != cols){
- cols = ncols;
- z = 1;
- }
+ nrows = (Dy(screen->r)-2*MARGIN+PAD)/(font->height+PAD);
+ if(nrows <= 0)
+ nrows = 1;
+ if(nrows != rows){
+ rows = nrows;
+ 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);