added "more" command
[unix-history] / usr / src / usr.bin / window / wwmisc.c
index 42f1305..fa3072a 100644 (file)
@@ -1,36 +1,37 @@
 #ifndef lint
 #ifndef lint
-static char *sccsid = "@(#)wwmisc.c    1.4 83/07/19";
+static char sccsid[] = "@(#)wwmisc.c   3.9 %G%";
 #endif
 
 #endif
 
-#include "ww.h"
-
-struct ww *wwhead = 0;
-struct ww *curwin = 0;
+/*
+ * Copyright (c) 1983 Regents of the University of California,
+ * All rights reserved.  Redistribution permitted subject to
+ * the terms of the Berkeley Software License Agreement.
+ */
 
 
-wwsetcurrent(wp)
-register struct ww *wp;
-{
-       curwin = wp;
-       Wfront(wp->ww_win);
-}
+#include "ww.h"
+#include "tt.h"
+#include "char.h"
 
 
-wwhaschildren()
+/*
+ * Sufficient but not necessary test for total visibility.
+ */
+wwvisible(w)
+register struct ww *w;
 {
 {
-       register struct ww *wp;
+       register i;
+       register nvis = 0;
 
 
-       for (wp = wwhead; wp; wp = wp->ww_next)
-               if (wp->ww_state == WW_HASPROC)
-                       return 1;
-       return 0;
+       for (i = w->ww_i.t; i < w->ww_i.b; i++)
+               nvis += w->ww_nvis[i];
+       if (w->ww_hascursor
+           && w->ww_cur.r >= w->ww_i.t && w->ww_cur.r < w->ww_i.b
+           && w->ww_cur.c >= w->ww_i.l && w->ww_cur.c < w->ww_i.r
+           && wwsmap[w->ww_cur.r][w->ww_cur.c] == w->ww_index)
+               nvis++;
+       return nvis == w->ww_i.nr * w->ww_i.nc;
 }
 
 }
 
-struct ww *
-wwfind(id)
-register id;
+wwbell()
 {
 {
-       register struct ww *w;
-
-       for (w = wwhead; w && w->ww_ident != id; w = w->ww_next)
-               ;
-       return w;
+       ttputc(ctrl(g));
 }
 }