plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

commit fb5ca0b97b372e8cf6261ea7ba70ecc66987b980
parent 2d930d45526d0f7d452d4f13933dd205f42a90e8
Author: rsc <devnull@localhost>
Date:   Sun, 25 Apr 2004 20:50:09 +0000

fix some bugs when using 9term

Diffstat:
Msrc/cmd/draw/mc.c | 21+++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/cmd/draw/mc.c b/src/cmd/draw/mc.c @@ -26,7 +26,7 @@ int wordsize(Rune*, int); int nexttab(int); int tabwid; -int mintab; +int mintab = 1; int linewidth=WIDTH; int colonflag=0; int tabflag=0; /* -t flag turned off forever, except in acme */ @@ -227,7 +227,7 @@ nexttab(int col) col -= col%tabwid; return col; } - return (col|(TAB-1))+1; + return col+1; } void @@ -296,14 +296,23 @@ getwidth(void) return; } + if((p = getenv("TERM")) != nil && strcmp(p, "9term") == 0) if((p = getenv("font")) != nil) font = openfont(nil, p); + if(windowrect(&ws) < 0) return; - if(ws.ws_ypixel == 0) + if(ws.ws_xpixel == 0) font = nil; - if(font) - linewidth = ws.ws_ypixel; - linewidth = ws.ws_col; + if(font){ + mintab = stringwidth(font, "0"); + if((p = getenv("tabstop")) != nil) + tabwid = atoi(p)*mintab; + else + tabwid = 4*mintab; + tabflag = 1; + linewidth = ws.ws_xpixel; + }else + linewidth = ws.ws_col; }