DIRECTORY CharDisplays, DisplayControllers, IO, IOClasses, Process, Rope; GlassTTY: CEDAR PROGRAM IMPORTS DisplayControllers, IOClasses, Process = {OPEN DisplayControllers; glassTTY: ControlProgram; DefineGlassTTY: PROC = { glassTTY _ NewControlProgram[]; AddInstruction[glassTTY, LIST["\015"], cr]; AddInstruction[glassTTY, LIST["\012"], lf]; AddInstruction[glassTTY, LIST["\010"], bs]; }; crlf: Action _ [CRLF]; CRLF: PROC [dc: DisplayController, clientData: REF ANY] = {dc.cd.class.CursorMove[dc.cd, dc.cd.line+1, 0, FALSE]}; cr: Action _ [CR]; CR: PROC [dc: DisplayController, clientData: REF ANY] = {dc.cd.class.CursorMove[dc.cd, dc.cd.line, 0, FALSE]}; lf: Action _ [LF]; LF: PROC [dc: DisplayController, clientData: REF ANY] = {dc.cd.class.CursorMove[dc.cd, 1, 0, TRUE]}; bs: Action _ [BS]; BS: PROC [dc: DisplayController, clientData: REF ANY] = {dc.cd.class.CursorMove[dc.cd, 0, -1, TRUE]}; ToSelf: PROC [dc: DisplayController] = TRUSTED {Process.Detach[FORK IOClasses.Copy[from: dc.fromDisplay, to: dc.toDisplay, closeFrom: FALSE, closeTo: FALSE]]}; }. NGlassTTY.Mesa Last Edited by: Spreitzer, March 11, 1985 11:45:00 pm PST Κͺ– "cedar" style˜Icode™ J™9K˜KšΟk œ#œ˜IK˜šΠbxœœ˜Kšœ'˜.K˜Kšœœ˜K˜Kšœ˜K˜šΟnœœ˜Kšœ˜Kšœœ˜+Kšœœ˜+Kšœœ˜+K˜—K˜Kšœœ˜K˜šœœ%œœ˜9Kšœ0œ˜8—K˜Kšœœ˜K˜šœœ%œœ˜7Kšœ.œ˜6—K˜Kšœœ˜K˜šœœ%œœ˜7Kšœ%œ˜,—K˜Kšœœ˜K˜šœœ%œœ˜7Kšœ&œ˜-—K˜Kš ŸœœœœCœ œ˜ŸK˜K˜K˜——…—:2