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:
=====================================================================
|