summary |
tags |
clone url |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
0de7ca2)
SCCS-vsn: usr.bin/window/cmd.c 1.6
-static char *sccsid = "@(#)cmd.c 1.5 83/07/22";
+static char *sccsid = "@(#)cmd.c 1.6 83/07/28";
#endif
#include "defs.h"
struct ww *getwin();
#endif
#include "defs.h"
struct ww *getwin();
-struct ww *openwin();
-char *strtime();
docmd()
{
register char c;
register struct ww *w;
docmd()
{
register char c;
register struct ww *w;
- Wunhide(cmdwin->ww_win);
+ if (!terse)
+ Wunhide(cmdwin->ww_win);
if (selwin != 0)
Woncursor(selwin->ww_win, 1);
while ((c = bgetc()) >= 0) {
wwputs("\r\n", cmdwin);
switch (c) {
if (selwin != 0)
Woncursor(selwin->ww_win, 1);
while ((c = bgetc()) >= 0) {
wwputs("\r\n", cmdwin);
switch (c) {
+ default:
+ if (c == escapec)
+ goto foo;
+ break;
case 'r':
case 'R':
case 'h': case 'j': case 'k': case 'l':
case 'r':
case 'R':
case 'h': case 'j': case 'k': case 'l':
case CTRL(b):
case CTRL(f):
case CTRL([):
case CTRL(b):
case CTRL(f):
case CTRL([):
if (selwin == 0) {
wwputs("No window. ", cmdwin);
continue;
if (selwin == 0) {
wwputs("No window. ", cmdwin);
continue;
case 'Q':
doquery();
break;
case 'Q':
doquery();
break;
+ case 'e':
+ doescape();
+ break;
case 'r':
selwin->ww_refresh = 0;
break;
case 'r':
selwin->ww_refresh = 0;
break;
case '?':
dohelp();
break;
case '?':
dohelp();
break;
- case ESCAPE:
- buf = ESCAPE;
- write(selwin->ww_pty, &buf, 1);
case CTRL([):
goto out;
case CTRL(z):
case CTRL([):
goto out;
case CTRL(z):
goto out;
break;
default:
goto out;
break;
default:
+ if (c == escapec) {
+ write(selwin->ww_pty, &escapec, 1);
+ goto out;
+ }
Ding();
wwprintf(cmdwin, "Type ? for help. ");
break;
Ding();
wwprintf(cmdwin, "Type ? for help. ");
break;
wwsetcurwin(selwin);
if (selwin != 0)
Woncursor(selwin->ww_win, 0);
wwsetcurwin(selwin);
if (selwin != 0)
Woncursor(selwin->ww_win, 0);
+ if (!terse)
+ Whide(cmdwin->ww_win);
buf[0] = w->ww_ident + '0';
buf[1] = 0;
buf[0] = w->ww_ident + '0';
buf[1] = 0;
+ wwlabel(w, 1, buf, mode);
+ /*
+ if (w->ww_label)
+ wwlabel(w, 3, w->ww_label, mode);
+ */