=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/window/Attic/win.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- src/usr.bin/window/Attic/win.c 1995/12/26 18:00:27 1.2 +++ src/usr.bin/window/Attic/win.c 1996/02/23 14:10:44 1.3 @@ -1,4 +1,4 @@ -/* $NetBSD: win.c,v 1.6 1995/12/21 10:46:01 mycroft Exp $ */ +/* $NetBSD: win.c,v 1.8 1996/02/08 21:07:57 mycroft Exp $ */ /* * Copyright (c) 1983, 1993 @@ -40,7 +40,7 @@ #if 0 static char sccsid[] = "@(#)win.c 8.1 (Berkeley) 6/6/93"; #else -static char rcsid[] = "$NetBSD: win.c,v 1.6 1995/12/21 10:46:01 mycroft Exp $"; +static char rcsid[] = "$NetBSD: win.c,v 1.8 1996/02/08 21:07:57 mycroft Exp $"; #endif #endif /* not lint */ @@ -68,9 +68,8 @@ * Open a user window. */ struct ww * -openwin(id, row, col, nrow, ncol, nline, label, haspty, hasframe, shf, sh) +openwin(id, row, col, nrow, ncol, nline, label, type, uflags, shf, sh) char *label; -char haspty, hasframe; char *shf, **sh; { register struct ww *w; @@ -82,14 +81,15 @@ error("Illegal window position."); return 0; } - w = wwopen(haspty ? WWT_PTY : WWT_SOCKET, 0, nrow, ncol, row, col, nline); + w = wwopen(type, 0, nrow, ncol, row, col, nline); if (w == 0) { error("Can't open window: %s.", wwerror()); return 0; } w->ww_id = id; window[id] = w; - w->ww_hasframe = hasframe; + CLR(w->ww_uflags, WWU_ALLFLAGS); + SET(w->ww_uflags, uflags); w->ww_alt = w->ww_w; if (label != 0 && setlabel(w, label) < 0) error("No memory for label."); @@ -181,13 +181,9 @@ if ((w = wwopen(WWT_INTERNAL, 0, nrow, wwncol, 2, 0, 0)) == 0) return 0; - w->ww_mapnl = 1; - w->ww_hasframe = 1; - w->ww_nointr = 1; - w->ww_noupdate = 1; - w->ww_unctrl = 1; + SET(w->ww_wflags, WWW_MAPNL | WWW_NOINTR | WWW_NOUPDATE | WWW_UNCTRL); + SET(w->ww_uflags, WWU_HASFRAME | WWU_CENTER); w->ww_id = -1; - w->ww_center = 1; (void) setlabel(w, label); addwin(w, 1); reframe(); @@ -273,7 +269,7 @@ wwunframe(framewin); for (w = wwhead.ww_back; w != &wwhead; w = w->ww_back) - if (w->ww_hasframe) { + if (ISSET(w->ww_uflags, WWU_HASFRAME)) { wwframe(w, framewin); labelwin(w); } @@ -284,7 +280,7 @@ { int mode = w == selwin ? WWM_REV : 0; - if (!w->ww_hasframe) + if (!ISSET(w->ww_uflags, WWU_HASFRAME)) return; if (w->ww_id >= 0) { char buf[2]; @@ -296,7 +292,7 @@ if (w->ww_label) { int col; - if (w->ww_center) { + if (ISSET(w->ww_uflags, WWU_CENTER)) { col = (w->ww_w.nc - strlen(w->ww_label)) / 2; col = MAX(3, col); } else @@ -311,7 +307,7 @@ if (w->ww_pty >= 0 && w->ww_type == WWT_PTY && wwstoptty(w->ww_pty) < 0) error("Can't stop output: %s.", wwerror()); else - w->ww_stopped = 1; + SET(w->ww_pflags, WWP_STOPPED); } startwin(w) @@ -320,7 +316,7 @@ if (w->ww_pty >= 0 && w->ww_type == WWT_PTY && wwstarttty(w->ww_pty) < 0) error("Can't start output: %s.", wwerror()); else - w->ww_stopped = 0; + CLR(w->ww_pflags, WWP_STOPPED); } sizewin(w, nrow, ncol) @@ -348,14 +344,14 @@ char always; { int c; - char uc = w->ww_unctrl; + int uc = ISSET(w->ww_wflags, WWW_UNCTRL); if (!always && w->ww_cur.r < w->ww_w.b - 2) return 0; c = waitnl1(w, "[Type escape to abort, any other key to continue]"); - w->ww_unctrl = 0; + CLR(w->ww_wflags, WWW_UNCTRL); wwputs("\033E", w); - w->ww_unctrl = uc; + SET(w->ww_wflags, uc); return c == ctrl('[') ? 2 : 1; } @@ -363,15 +359,15 @@ register struct ww *w; char *prompt; { - char uc = w->ww_unctrl; + int uc = ISSET(w->ww_wflags, WWW_UNCTRL); - w->ww_unctrl = 0; + CLR(w->ww_wflags, WWW_UNCTRL); front(w, 0); wwprintf(w, "\033Y%c%c\033sA%s\033rA ", w->ww_w.nr - 1 + ' ', ' ', prompt); /* print on last line */ wwcurtowin(w); while (wwpeekc() < 0) wwiomux(); - w->ww_unctrl = uc; + SET(w->ww_wflags, uc); return wwgetc(); }