Commit | Line | Data |
---|---|---|
ce28727e | 1 | #ifndef lint |
ffa20db4 | 2 | static char *sccsid = "@(#)cmd4.c 3.9 84/04/05"; |
ce28727e EW |
3 | #endif |
4 | ||
5 | #include "defs.h" | |
6 | ||
85af59e4 | 7 | c_show() |
ce28727e EW |
8 | { |
9 | register i; | |
10 | register struct ww *w = 0; | |
11 | char done_it = 0; | |
12 | ||
85af59e4 EW |
13 | for (i = 0; i < NWINDOW; i++) { |
14 | if ((w = window[i]) == 0) | |
ce28727e EW |
15 | continue; |
16 | done_it++; | |
85af59e4 EW |
17 | if (!terse && cmdwin->ww_order < framewin->ww_order) { |
18 | wwdelete(cmdwin); | |
19 | wwadd(cmdwin, framewin); | |
20 | } | |
a200c620 | 21 | front(w, 0); |
54277872 | 22 | wwsetcursor(w->ww_w.t - 1, w->ww_w.l + 1); |
ce28727e | 23 | for (;;) { |
8fa6d94c | 24 | switch (wwgetc()) { |
ce28727e EW |
25 | case '\r': |
26 | case '\n': | |
27 | break; | |
28 | case CTRL([): | |
29 | setselwin(w); | |
8c4fb896 | 30 | goto out; |
ce28727e | 31 | case -1: |
8fa6d94c | 32 | wwiomux(); |
ce28727e EW |
33 | continue; |
34 | default: | |
b1189050 | 35 | wwputc(CTRL(g), cmdwin); |
85af59e4 | 36 | if (!terse) { |
b1189050 | 37 | wwputs("\rType return to continue, escape to select.", cmdwin); |
85af59e4 EW |
38 | wwdelete(cmdwin); |
39 | wwadd(cmdwin, &wwhead); | |
40 | } | |
ce28727e EW |
41 | continue; |
42 | } | |
43 | break; | |
44 | } | |
45 | } | |
8c4fb896 | 46 | out: |
101acab4 | 47 | if (!done_it) { |
85af59e4 | 48 | error("No windows."); |
101acab4 | 49 | } else { |
85af59e4 EW |
50 | if (!terse) { |
51 | wwdelete(cmdwin); | |
52 | wwadd(cmdwin, &wwhead); | |
b1189050 | 53 | wwputs("\r\n", cmdwin); |
85af59e4 | 54 | } |
ce28727e EW |
55 | } |
56 | } | |
101acab4 | 57 | |
85af59e4 | 58 | c_colon() |
101acab4 | 59 | { |
ffa20db4 | 60 | char oldterse = terse; |
101acab4 EW |
61 | char buf[512]; |
62 | ||
ffa20db4 | 63 | setterse(0); |
b1189050 | 64 | wwputc(':', cmdwin); |
8fa6d94c | 65 | wwgets(buf, wwncol - 3, cmdwin); |
b1189050 | 66 | wwputs("\r\n", cmdwin); |
ffa20db4 EW |
67 | wwcurtowin(cmdwin); |
68 | setterse(oldterse); | |
25a495d2 EW |
69 | if (dolongcmd(buf) < 0) |
70 | error("Out of memory."); | |
101acab4 | 71 | } |