-c_show()
-{
- register i;
- register struct ww *w = 0;
- char done_it = 0;
-
- for (i = 0; i < NWINDOW; i++) {
- if ((w = window[i]) == 0)
- continue;
- done_it++;
- if (!terse && cmdwin->ww_order < framewin->ww_order) {
- wwdelete(cmdwin);
- wwadd(cmdwin, framewin);
- }
- front(w, 0);
- wwsetcursor(w->ww_w.t - 1, w->ww_w.l + 1);
- for (;;) {
- switch (bgetc()) {
- case '\r':
- case '\n':
- break;
- case CTRL([):
- setselwin(w);
- goto out;
- case -1:
- bread();
- continue;
- default:
- wwbell();
- if (!terse) {
- (void) wwputs("\rType return to continue, escape to select.", cmdwin);
- wwdelete(cmdwin);
- wwadd(cmdwin, &wwhead);
- }
- continue;
- }
- break;
- }
- }
-out:
- if (!done_it) {
- error("No windows.");
- } else {
- if (!terse) {
- wwdelete(cmdwin);
- wwadd(cmdwin, &wwhead);
- (void) wwputs("\r\n", cmdwin);
- }
- }
-}
-