1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
Zhang has developed a patch to the "screen" VT100 terminal emulation program
that allows one to perform tektronics "tek40xx" style graphics in a
screen window. I've tested it with gnuplot and it works quite well.
Send flames or technical inquries to the patch author Xiaoguang
Zhang (zhang@gmsds.ms.ornl.gov) and to screen@uni-erlangen.de
=====================================================================
*** ./ansi.h.orig Fri Jan 2 19:12:05 1970
--- ./ansi.h Wed Nov 15 19:25:11 1995
***************
*** 56,62 ****
PRIN, /* Printer mode */
PRINESC, /* ESC seen in printer mode */
PRINCSI, /* CSI seen in printer mode */
! PRIN4 /* CSI 4 seen in printer mode */
};
enum string_t
--- 56,65 ----
PRIN, /* Printer mode */
PRINESC, /* ESC seen in printer mode */
PRINCSI, /* CSI seen in printer mode */
! PRIN4, /* CSI 4 seen in printer mode */
! TEK, /* Tektronix mode */
! TEKESC, /* Tektronix escape */
! TEKEND /* Tektronix ending sequence */
};
enum string_t
*** ./ansi.c.orig Sun Oct 29 16:01:26 1995
--- ./ansi.c Wed Nov 15 19:25:11 1995
***************
*** 805,810 ****
--- 805,815 ----
case 'k':
StartString(AKA);
break;
+ case '\014':
+ curr->w_state = TEK;
+ RAW_PUTCHAR('\033');
+ RAW_PUTCHAR(c);
+ break;
default:
if (Special(c))
{
***************
*** 868,873 ****
--- 873,899 ----
goto tryagain;
}
}
+ break;
+ case TEK:
+ switch (c)
+ {
+ case '@':
+ if ((unsigned char)*(buf - 2) == ' ') /* XXX: Yucc! */
+ curr->w_state = TEKESC;
+ /* FALLTHROUGH */
+ default:
+ RAW_PUTCHAR(c);
+ break;
+ }
+ break;
+ case TEKESC:
+ curr->w_state = (c == '\037') ? TEKEND : TEK;
+ RAW_PUTCHAR(c);
+ break;
+ case TEKEND:
+ if (c == '\030')
+ curr->w_state = LIT;
+ RAW_PUTCHAR(c);
break;
case LIT:
default:
=====================================================================
|