diff options
author | Jacob Moody <moody@posixcafe.org> | 2023-03-10 20:39:38 +0000 |
---|---|---|
committer | Jacob Moody <moody@posixcafe.org> | 2023-03-10 20:39:38 +0000 |
commit | 82adfe54e258ed20d55fb6fd8505190b1e20aa0d (patch) | |
tree | 61c9b6464e85d957d4d88823940c93b4081ea9c2 | |
parent | 52ac66512399a01cb3f9cbfb1e75e4ac860b4c79 (diff) |
kbmap: fix multi column display for smaller windows (thanks mkf)
-rw-r--r-- | sys/src/cmd/kbmap.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/src/cmd/kbmap.c b/sys/src/cmd/kbmap.c index e26943318..977e4d7ce 100644 --- a/sys/src/cmd/kbmap.c +++ b/sys/src/cmd/kbmap.c @@ -99,14 +99,16 @@ drawmap(int i) void geometry(void) { - int i, rows; + int i, rows, cols; Rectangle r; rows = (Dy(screen->r)-2*MARGIN+PAD)/(font->height+PAD); if(rows < 1) rows = 1; - - r = Rect(0,0,(Dx(screen->r)-2*MARGIN), font->height); + cols = (nmap+rows-1)/rows; + if(cols < 1) + cols = 1; + r = Rect(0,0,(Dx(screen->r)-2*MARGIN+PAD)/cols-PAD, font->height); for(i=0; i<nmap; i++) map[i].r = rectaddpt(rectaddpt(r, Pt(MARGIN+(PAD+Dx(r))*(i/rows), MARGIN+(PAD+Dy(r))*(i%rows))), screen->r.min); |