From a9f4c87a31ed0219f55cf9f679b61f5997c11b63 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Mon, 15 Dec 2014 16:08:38 -0500 Subject: [PATCH] xterm_controls.txt, as referenced in all-escapes.txt --- xterm_controls.txt | 1840 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1840 insertions(+) create mode 100644 xterm_controls.txt diff --git a/xterm_controls.txt b/xterm_controls.txt new file mode 100644 index 0000000..e64bd99 --- /dev/null +++ b/xterm_controls.txt @@ -0,0 +1,1840 @@ + Controlling "xterm" emulations + + (and similar software under X: decterm, hpterm, dtterm, etc.) + + The "xterm" application, which runs in the graphical X Windows + environment and emulates a character-cell terminal. + + *---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---* + +Date: 12 Sep 1989 17:44:43 GMT +Organization: GE Corporate Research & Development, Schenectady, NY +To: xpert@expo.lcs.mit.edu +From: crdgw1!montnaro@uunet.uu.net (Skip Montanaro) +Subject: XTerm Escape Sequences (X11 Version) + +I rummaged around through the xterm code and came up with the following +stuff. No guarantees. I'm headed out of town for a couple days and thought +it better to get it out than let it get stale. Comments, bugs, and other +notes are welcome. Somebody else can convert it to troff. I prefer LaTeX. +:-) I will try and get to the Tek mode stuff when I return, although I doubt +it's changed much from X10 XTerm. + +I gleaned the basic stuff out of the charproc.c code, by hacking VTparse() +so it spit out leaves of the parse tree. I was mildly surprised to see +things like "ESC # BEL" turn up. + +For most folks, the most interesting stuff will probably be "ESC ] Ps ND +string NP" down near the bottom. That's what you use to change the icon and +window labels, and the log file name. Most other things appear the same as +the X10 documentation, although a few DEC-ish mode parameters (42, 43, 48, & +49) seem to have disappeared. + +------------------------------------------------------------------------------ +BEL Bell (Ctrl-G) +BS Backspace (Ctrl-H) +HT Horizontal Tab (Ctrl-I) +NL Line Feed or New Line (Ctrl-J) +VT Vertical Tab (Ctrl-K) +NP Form Feed or New Page (Ctrl-L) +CR Carriage Return (Ctrl-M) +SO Shift Out (Ctrl-N) -> Switch to Alternate Character Set +SI Shift In (Ctrl-O) -> Switch to Standard Character Set +ESC BEL (Same as non-escaped BEL) +ESC BS (Same as non-escaped BS) +ESC HT (Same as non-escaped HT) +ESC NL (Same as non-escaped NL) +ESC VT (Same as non-escaped VT) +ESC NP (Same as non-escaped NP) +ESC CR (Same as non-escaped CR) +ESC SO (Same as non-escaped SO) +ESC SI (Same as non-escaped SI) +ESC # BEL (Same as non-escaped BEL) +ESC # BS (Same as non-escaped BS) +ESC # HT (Same as non-escaped HT) +ESC # NL (Same as non-escaped NL) +ESC # VT (Same as non-escaped VT) +ESC # NP (Same as non-escaped NP) +ESC # CR (Same as non-escaped CR) +ESC # SO (Same as non-escaped SO) +ESC # SI (Same as non-escaped SI) +ESC # 8 DEC Screen Alignment Test (DECALN) +ESC ( BEL (Same as non-escaped BEL) +ESC ( BS (Same as non-escaped BS) +ESC ( HT (Same as non-escaped HT) +ESC ( NL (Same as non-escaped NL) +ESC ( VT (Same as non-escaped VT) +ESC ( NP (Same as non-escaped NP) +ESC ( CR (Same as non-escaped CR) +ESC ( SO (Same as non-escaped SO) +ESC ( SI (Same as non-escaped SI) +ESC ( C Select G0 Character Set (SCS) + C = 0 -> Special Character and Line Drawing Set + C = 1 -> Alternate Character ROM Standard Set + C = 2 -> Alternate Character ROM Special Set + C = A -> United Kingdom (UK) + C = B -> United States (USASCII) +ESC ) C Select G1 Character Set (SCS) + C takes same values as above +ESC * C Select G2 Character Set (SCS) + C takes same values as above +ESC + C Select G3 Character Set (SCS) + C takes same values as above +ESC 7 Save Cursor (DECSC) +ESC 8 Restore Cursor (DECRC) +ESC = Application Keypad (DECPAM) +ESC > Normal Keypad (DECNM) +ESC D Index (IND) +ESC E Next Line (NEL) +ESC H Tab Set (HTS) +ESC M Reverse Index (RI) +ESC N Single Shift Select of G2 Character Set (SS2) +ESC O Single Shift Select of G3 Character Set (SS3) +ESC [ BEL (Same as non-escaped BEL) +ESC [ BS (Same as non-escaped BS) +ESC [ HT (Same as non-escaped HT) +ESC [ NL (Same as non-escaped NL) +ESC [ VT (Same as non-escaped VT) +ESC [ NP (Same as non-escaped NP) +ESC [ CR (Same as non-escaped CR) +ESC [ SO (Same as non-escaped SO) +ESC [ SI (Same as non-escaped SI) +ESC [ ? BEL (Same as non-escaped BEL) +ESC [ ? BS (Same as non-escaped BS) +ESC [ ? HT (Same as non-escaped HT) +ESC [ ? NL (Same as non-escaped NL) +ESC [ ? VT (Same as non-escaped VT) +ESC [ ? NP (Same as non-escaped NP) +ESC [ ? CR (Same as non-escaped CR) +ESC [ ? SO (Same as non-escaped SO) +ESC [ ? SI (Same as non-escaped SI) +ESC [ ? Ps h DEC Private Mode Set (DECSET) + Ps = 1 -> Application Cursor Keys (DECCKM) + Ps = 2 -> Set VT52 Mode + Ps = 3 -> 132 Column Mode (DECCOLM) + Ps = 4 -> Smooth (Slow) Scroll (DECSCLM) + Ps = 5 -> Reverse Video (DECSCNM) + Ps = 6 -> Origin Mode (DECOM) + Ps = 7 -> Wraparound Mode (DECAWM) + Ps = 8 -> Auto-Repeat Keys (DECARM) + Ps = 9 -> Send MIT Mouse Row & Column on Button + Press + Ps = 38 -> Enter Tektronix Mode (DECTEK) + Ps = 40 -> Allow 80 <-> 132 Mode + Ps = 41 -> curses(5) fix + Ps = 44 -> Turn on Margin Bell + Ps = 45 -> Reverse-wraparound Mode + Ps = 46 -> Start Logging + Ps = 47 -> Use Alternate Screen Buffer + Ps = 1000 -> xtem bogus sequence (???) + Ps = 1001 -> xtem sequence w/hilite tracking (???) +ESC [ ? Ps l DEC Private Mode Reset (DECRST) + Ps = 1 -> Normal Cursor Keys (DECCKM) + Ps = 3 -> 80 Column Mode (DECCOLM) + Ps = 4 -> Jump (Fast) Scroll (DECSCLM) + Ps = 5 -> Normal Video (DECSCNM) + Ps = 6 -> Normal Cursor Mode (DECOM) + Ps = 7 -> No Wraparound Mode (DECAWM) + Ps = 8 -> No Auto-Repeat Keys (DECARM) + Ps = 9 -> Don't Send MIT Mouse Row & Column on + Button Press + Ps = 40 -> Don't Allow 80 <-> 132 Mode + Ps = 41 -> No curses(5) fix + Ps = 44 -> Turn Off Margin Bell + Ps = 45 -> No Reverse-wraparound Mode + Ps = 46 -> Stop Logging + Ps = 47 -> Use Normal Screen Buffer + Ps = 1000 -> xtem bogus sequence (???) + Ps = 1001 -> xtem sequence w/hilite tracking (???) +ESC [ ? Ps r Restore DEC Private Mode + Ps = 1 -> Normal/Application Cursor Keys (DECCKM) + Ps = 3 -> 80/132 Column Mode (DECCOLM) + Ps = 4 -> Jump (Fast)/Smooth (Slow) Scroll (DECSCLM) + Ps = 5 -> Normal/Reverse Video (DECSCNM) + Ps = 6 -> Normal/Origin Cursor Mode (DECOM) + Ps = 7 -> No Wraparound/Wraparound Mode (DECAWM) + Ps = 8 -> Auto-repeat/No Auto-repeat Keys (DECARM) + Ps = 9 -> Don't Send/Send MIT Mouse Row & Column on + Button Press + Ps = 40 -> Disallow/Allow 80 <-> 132 Mode + Ps = 41 -> Off/On curses(5) fix + Ps = 44 -> Turn Off/On Margin Bell + Ps = 45 -> No Reverse-wraparound/Reverse-wraparound + Mode + Ps = 46 -> Stop/Start Logging + Ps = 47 -> Use Normal/Alternate Screen Buffer + Ps = 1000 -> mouse bogus sequence (???) + Ps = 1001 -> mouse bogus sequence (???) +ESC [ ? Ps s Save DEC Private Mode + Same P's as Restore DEC Private Mode +ESC [ Ps @ Insert Ps (Blank) Character(s) (default = 1) (ICH) +ESC [ Ps A Cursor Up Ps Times (default = 1) (CUU) +ESC [ Ps B Cursor Down Ps Times (default = 1) (CUD) +ESC [ Ps C Cursor Forward Ps Times (default = 1) (CUF) +ESC [ Ps D Cursor Backward Ps Times (default = 1) (CUB) +ESC [ Ps ; Ps H Cursor Position [row;column] (default = [1,1]) (CUP) +ESC [ Ps J Erase in Display + Ps = 0 -> Clear Below (default) + Ps = 1 -> Clear Above + Ps = 2 -> Clear All +ESC [ Ps K Erase in Line + Ps = 0 -> Clear to Right (default) + Ps = 1 -> Clear to Left + Ps = 2 -> Clear All +ESC [ Ps L Insert Ps lines (default = 1) (IL) +ESC [ Ps M Delete Ps lines (default = 1) (DL) +ESC [ Ps P Delete Ps Characters (default = 1) (DCH) +ESC [ T Track Mouse (???) +ESC [ Ps c Device Attributes (DA1) +ESC [ Ps ; Ps f Cursor Position [row;column] (default = [1,1]) (HVP) +ESC [ Ps g Tab Clear + Ps = 0 -> Clear Current Column (default) + Ps = 3 -> Clear All +ESC [ Ps h Mode Set (SET) + Ps = 4 -> Insert Mode (IRM) + Ps = 20 -> Automatic Linefeed (LNM) +ESC [ Ps l Mode Reset (RST) + Ps = 4 -> Insert Mode (IRM) + Ps = 20 -> Automatic Linefeed (LNM) +ESC [ Pm m Character Attributes (SGR) + Ps = 0 -> Normal (default) + Ps = 1 -> Blink (appears as Bold) + Ps = 4 -> Underscore + Ps = 5 -> Bold + Ps = 7 -> Inverse +ESC [ Ps n Device Status Report (DSR) + Ps = 5 -> Status Report ESC [ 0 n -> OK + Ps = 6 -> Report Cursor Position (CPR) [row;column] + as ESC [ r ; c R +ESC [ Ps ; Ps r Set Scrolling Region [top;bottom] (default = full size + of window) (DECSTBM) +ESC [ Ps x Request Terminal Parameters (DECREQTPARM) +ESC ] Ps ND string NP OSC Mode + ND can be any non-digit Character (it's discarded) + NP can be any non-printing Character (it's discarded) + string can be any ASCII printable string + (max 511 characters) + Ps = 0 -> use string as a new icon name and title + Ps = 1 -> use string is a new icon name only + Ps = 2 -> use string is a new title only + Ps = 46 -> use string as a new log file name + +ESC c Full Reset +ESC n Switch to Alternate Character Set LS2 +ESC o Switch to Alternate Character Set LS3 +ESC | Switch to Alternate Graphics(?) Set LS3R +ESC } Switch to Alternate Graphics(?) Set LS2R +ESC ~ Switch to Alternate Graphics(?) Set LS1R +-- +Skip Montanaro (montanaro@crdgw1.ge.com) + + *---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---* + +Newsgroups: comp.terminals +Path: cs.utk.edu!emory!swrinde!zaphod.mps.ohio-state.edu!howland.reston.ans.net + !spool.mu.edu!hri.com!noc.near.net!news.bbn.com!bbn.com!pdsmith +Message-ID: +References: <1993Jan28.010333.2187@spang.Camosun.BC.CA> +Date: 29 Jan 1993 16:28:49 GMT +From: pdsmith@bbn.com (Peter D. Smith) +Subject: Re: Can you identify this escape sequence? +Summary: DECELR and DECSLE + +In article <1993Jan28.010333.2187@spang.Camosun.BC.CA>, + morley@suncad.camosun.bc.ca (Mark Morley) writes: +> +> The escape sequence is [1;1'z +> or [1;1'{ + +Sure -- looking it up in my Escape sequence reverse index, I find + + ...z is DECELR: Enable locator report. It's only used by DECTERM; + see the Decterm programming release notes (EK-DTERM-RN-001) + page 3-1. The first one means 'enable' and the second + one means 'report in pixels'. + + The 'locator' is the mouse. + + ...{ is DECSLE: Select type of locator events, same book, page 3-5. + It's not clear why there are two parameters; this + sequence doesn't attach any positional significance + on parameters (eg, a one means the same thing no matter + where it is). One means "Report button down". + + + Peter D. Smith + + *---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---* + +Newsgroups: comp.os.vms +Path: cs.utk.edu!emory!wupost!uunet!pipex!sunic!ugle.unit.no!alf.uib.no + !dsfys1.fi.uib.no!iversen +From: iversen@dsfys1.fi.uib.no (Per Steinar Iversen) +Subject: RE: ]VMS;2\ sequence in Device Control Reset Modules +Message-ID: <1993Mar4.071327.17421@alf.uib.no> +Sender: iversen@vsfys1.fi.uib.no (Per Steinar Iversen) +Organization: Department of Physics, University of Bergen, Norway +References: <9303031720.AA28424@uu3.psi.com> +Date: Thu, 4 Mar 1993 07:13:27 GMT + +In article <9303031720.AA28424@uu3.psi.com>, + Jerry Leichter writes: +> +>OSC sequences have been used by the UIS terminal emulators to provide a means +>for a program to control things like window sizes and positions through the +>data stream; the DECWindows terminal emulator inherited them. A few OSC +>sequences have been used in the standard print symbiont as well. I KNOW I +>found the documentation for them once, but a search through the VMS docs just +>now revealed nothing. I do recall that the OSC sequences didn't do much that +>was very interesting. If anyone can find where this stuff is described, I'd +>be interested. + +The UIS OSC sequences are documented in the VWS User's Guide, "Additional +Features of the VT220 Terminal Emulator". I have found the related "Control +Sequence Introducer Strings" useful to set terminal window sizes, if one logs +in on a remote node through DECnet or TELNET, then a terminal resize with +SET TERM does not propagate back to my DECwindows window. By having a command +file on the remote node one can fix this: + +$! BIG.COM +$ set term/page=60/width=132 +$ write sys$output "[?3h[60t>" + +(Subsitute real s with an editor.) + +It would be nice though if DEC would document DECterm better... + ++-----------------------------------------------------------------------------+ +! Per Steinar Iversen ! Internet: iversen@vsfys1.fi.uib.no ! +! Fysisk Institutt ! BITnet: iversen@cernvm.bitnet ! +! Universitetet i Bergen ! HEPnet: VSFYS::IVERSEN (VSFYS=21.341=21845) ! +! Allegaten 55 ! Phone: +47 5212770 ! +! N-5007 Bergen ! Fax: +47 5318334 ! +! NORWAY ! ! ++-----------------------------------------------------------------------------+ + + + *---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---* + +From the HP-UX FAQ: + +Subject: 6.3 How do I get a scroll bar on hpterms? + +Set the following resources: + +HPterm*scrollBar: TRUE +HPterm*saveLines: 1024 + +or some other other arbitrarily large number. To do this interactively, use +"hpterm -sb -sl 1024". You can also set these in an app-default file +(/usr/lib/X11/app-defaults/HPterm). You can also set saveLines to something +like "4s", which indicates four screens. + +If you want the VUE panel terminal icon produce hpterm's that have +scroll bars, and also have their login shell run at the startup of +the terminal. To do this you have to modify the default action of the +VUE panel. The easiest way to do this on a system-wide basis is +to edit the "/usr/vue/types/xclients.vf" file. Change the line that says +"hpterm" to "hpterm -ls -sb -sl 400": + +/usr/vue/types/xclients.vf + +ACTION Hpterm + TYPE COMMAND + WINDOW-TYPE NO-STDIO + EXEC-STRING hpterm -ls -sb -sl 400 + DESCRIPTION The Hpterm action starts an hpterm terminal + emulator. +END + +(Thanks to Greg Cagle and + John Kemp ) + + + ......... ......... ......... ......... ......... ......... ......... ....... + +The HP-UX Frequently Asked Questions compilation, which includes several +other 'hpterm' items, can be read in its entirety from this URL: + + http://www.cis.ohio-state.edu/hypertext/faq/usenet/hp/top.html + + *---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---* + + + ////////////////////////////////////////////////////////////////////////////// + +From charlesp@darwin.sfbr.org Sat Feb 20 23:32:53 1999 +Date: Fri, 19 Feb 1999 00:30:05 GMT +From: charlesp@darwin.sfbr.org +Subject: Re: Emacs in a dtterm under 2.6 CDE + +In article <7a1f2i$j3c$2@callisto.clark.net>, + "T.E.Dickey" wrote: +> charlesp@darwin.sfbr.org wrote: +> > Recently I was forced to switch from Openwindows to CDE under Solaris 2.6 +> > which features dtterm terminal windows. +> +> > I like to run emacs inside my terminal windows (I can C-Z to flop back from +> > "real" shell to emacs without reaching for a mouse). But this CDE dtterm +> > appears to be broken. It works for a while, but certain cursor motions +> > (particularly going backward from the bottom of a window) screw up the +> > display so I end up typing C-l all the time. When the display is hosed, +> > one symptom is that the reverse video lines near the bottom and in the +> > middle (if you have multiple windows) go away and are replaced by some of +> > the text you are editing. +> +> simple fix: remove the scrolling capabilities from the dtterm description +> hard fix: get the vendor to correct the bug. +> + +I've tried both disabling the scroll bar and both positions of the "jump +scroll" option. I also tried "kshMode." Nothing solved the problem. + +dtterm is BROKEN. + +Besides, I like scrolling. I'm now using cmdtools (which I didn't even know +were available under CDE, but they are, at least in 2.6) and they work +perfectly. The version of xterm in 2.6 also works fine, but I haven't +figured out how to get xterms to work so that when I exit out of emacs (or +vi). I see the previous terminal history, not just the editing session +paritally scrolled off screen. It is very useful to see the previous terminal +history. (dtterm doesn't do this the way I want either). cmdtool does +everything the way I want by default. + + +ter fix (imho): +> The XFree86 3.3.3 xterm supports ANSI color and VT220 emulation +> There's an faq at +> [STALE URL] +> http://www.clark.net/pub/dickey/xterm/xterm.faq.html +> ftp://ftp.clark.net/pub/dickey/xterm + + [URL functional in 2009] + http://invisible-island.net/xterm/xterm.faq.html + +> -- +> Thomas E. Dickey +> dickey@clark.net +> http://www.clark.net/pub/dickey +> + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals +Date: 19 Feb 1999 17:11:38 GMT +From: T.E.Dickey +Subject: Re: Emacs in a dtterm under 2.6 CDE + +charlesp@darwin.sfbr.org wrote: +... +>> simple fix: remove the scrolling capabilities from the dtterm description +>> hard fix: get the vendor to correct the bug. + +> I've tried both disabling the scroll bar and both positions of the "jump +> scroll" option. I also tried "kshMode." Nothing solved the problem. + +the scrollbar has nothing to do with it. run + infocmp dtterm >foo +and remove the 'csr', 'ind', 'ri' strings. recompile with tic. + +> dtterm is BROKEN. + +that appears correct. + +> Besides, I like scrolling. I'm now using cmdtools (which I didn't even know +> were available under CDE, but they are, at least in 2.6) and they work +> perfectly. The version of xterm in 2.6 also works fine, but I haven't +> figured out how to get xterms to work so that when I exit out of emacs (or +> vi) I see the previous terminal history, not just the editing session +> paritally scrolled off screen. It is very useful to see the previous terminal +> history. (dtterm doesn't do this the way I want either). cmdtool does + +dtterm doesn't do it at all. you are describing the alternate screen feature +of xterm (half of the users dislike it, half like it). still - in my faq. + +-- +Thomas E. Dickey +dickey@clark.net + + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.unix.aix,comp.windows.x +Message-ID: <6pouaa$20p$1@usenet50.supernews.com> +Date: Thu, 30 Jul 1998 00:51:05 -0400 +From: "M. Kovarski" +Subject: CATIA on X-Terminal + + +Anyone here using CATIA on an X-Terminal? If so, which on. We tried the IBM +Network Station 1000 and it does not seem to work. The colors are funny. I +think it is because the Netstation has only 256 colors!?!? + +The server which runs the CATIA is an F50 with an GXT800P running in OpenGL +mode. I have not tried Pex/Phigs yet. CATIA uses 16 Million colors as far as +I can tell. + +Any other 24-Bit color X-Terminals out there by other companies? Any +recommendations or warnings? + +CATIA is a strange app since it uses some weird colormap scheme. I get +exactly the same problem when running CATIA on Hummingbird, WRQs and others. +The colors are weird. Hummingbird came to the conclusion that catia uses 4 +or so colormaps and the PC can handle on 2. Anyone any ideas? + +Thanks and best regards, +Mark K. +markk@openetix.com + + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.unix.aix,comp.windows.x +Message-ID: <35C13398.67AB81A6@ma.ultranet.com> +References: <6pouaa$20p$1@usenet50.supernews.com> + <35C13462.E55D6291@ma.ultranet.com> +Date: Thu, 30 Jul 1998 23:01:44 -0400 +From: Chuck Kuhlman +Subject: Re: CATIA on X-Terminal + + +inadviseable + +you'll get ...poor performance and network saturation. If you can +even get it to work at all. + +Best to stay with the explicit hardware configs set up for you at the +Dassault/IBM CASIL web site and NOT cheap out on sub-standard kludges. + +CATIA belongs to Dassault Aerospace (France) who have a very close +relationship with IBM to run CATIA on RS/6000 and OS/390. + + + + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.unix.solaris +References: <374149b0.9183139@news.esat.net> + <1riu9q7byu.fsf@haey.ifi.uio.no> + <7hu486$j6i$1@ash.prod.itd.earthlink.net> <1rn1z15fxn.fsf@haey.ifi.uio.no> + <7i5bsg$ulv$1@nnrp1.deja.com> +Message-ID: <3Ky13.621$Rl3.23904@ord-read.news.verio.net> +Date: Sat, 22 May 1999 13:58:23 GMT +NNTP-Posting-Host: 168.143.0.8 +From: "T.E.Dickey" +Subject: Re: Colour Xterm? + +olefevre@my-dejanews.com wrote: +> Kjetil Torgrim Homme wrote: + +> Also, xterm compiled in a snap on this Solaris 2.5.1 system and all +> tests in xterm-103/vttests seem to work. However, I'm not getting any +> color with, e.g., man. I set XTerm*customization in ~/.Xdefaults to + +'man' doesn't do color in any version I've seen. You can setup XFree86 +xterm to apply specified colors to bold and underlined text. + +> -color and my XUSERetc starts with the path to XTerm-color file yet +> truss tells me it is not read (Xterm is, though). Why? Anyway, even + +If you have + +*customization: color + +in your .Xdefaults, it should read the XTerm-color file _if_ app-defaults +aren't overridden by xrdb or some environment variable such as XENVIRONMENT +or XAPPLRESDIR. + +> instructions in my XTerm seem ignored because, e.g., I can change the +> cursor color in .Xdefaults but not in XTerm. But then even setting +> XTerm*VT100*colorMode to on in .Xdefaults does not get me color. + +> At this point I'm giving up. Can someone tell me what is wrong and how +> to get color at last? + +> Thanks a lot, + +> -- O.L. + +-- +Thomas E. Dickey +dickey@clark.net +http://invisible-island.net/ + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +Path: !cambridge1-snf1.gtei.net!news.gtei.net!bos-service1.ext.raytheon.com + !cyclone.swbell.net!newsfeed.berkeley.edu!newsfeed.nyu.edu + !wesley.videotron.net!wagner.videotron.net.POSTED!ocurtin +NNTP-Posting-Host: 24.200.125.165 +Organization: The Minetown Digger +Reply-To: ocurtin@NOSPAM.usa.net +Message-ID: +Date: Fri, 3 Mar 2000 15:08:59 -0500 +From: ocurtin@usa.net (Curly++) +Subject: Escape sequences for xterm? + +I think what I need is a listing of xterm escape codes. All the +listings I've found are horribly out of date. + +I've done a few extensive web crawls but haven't been able to +find anything up-to-date except the source code... yeah, I know, +but it's self-documenting! + + +Maybe I'm going about this all wrong, so let me tell you what I'm +doing, you can tell me if I'm stupidly ignoring an obvious and +simple solution. + +I'm fiddling with the source for xterm. I need to monitor the +user's interaction with some applications so as to divert some +of the inputs to another app. Legacy stuff, this is a kludge +to bridge the old and the new until the old can be fully phased +out. I'm writing scripts with `expect` to wait for the user +to fill in a form, then take an image of the screen and pass it +to another app. I can't capture the data coming back, the +screen is updated in tiny bits sort-of like what curses does. + +I've added an escape sequence to xterm so the expect script can +be triggered by the few predictable strings and use `send_user` +to trigger a screen dump to an external file. I'd like to use a +"correct" sequence and submit this as a patch to the xterm +maintainer. This seems to me a general solution to a set of +problems that turn up occassionaly. + + +-- +Oisin "Curly++" Curtin ocurtin@SPAM.usa.net +Surface Liaison, Minetown Digger Send no SPAM. + http://pages.infinit.net/curlypp/ + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +Organization: [posted via] Leibniz-Rechenzentrum, Muenchen (Germany) +Message-ID: +References: +Date: 3 Mar 2000 22:51:21 +0100 +From: m.ramsch@computer.org (Martin Ramsch) +Subject: Re: Escape sequences for xterm? + +On Fri, 3 Mar 2000 15:08:59 -0500, +Oisin "Curly++" Curtin wrote: +> I think what I need is a listing of xterm escape codes. All the +> listings I've found are horribly out of date. + +Did you also have a look at the file "ctlseqs.ms" which is part of +every xterm packages? + +To convert this file into other formats use for example + groff -ms -t -Tps ctlseqs.ms >ctlseqs.ps for Postscript output + groff -ms -t -Tlj4 ctlseqs.ms >ctlseqs.lj4 for LaserJet 4 print file + groff -ms -t -Tdvi ctlseqs.ms >ctlseqs.dvi for TeX dvi output + groff -ms -t -Tlatin1 ctlseqs.ms >ctlseqs.txt for text output + +Regards, + Martin +-- +Martin Ramsch +PGP KeyID=0xE8EF4F75 FiPr=5244 5EF3 B0B1 3826 E4EC 8058 7B31 3AD7 + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +References: + +Organization: Clark Internet Services, Inc., Ellicott City, MD USA +User-Agent: tin/1.5.2-20000119 ("Sumerland") (UNIX) (SunOS/5.6 (sun4u)) +Message-ID: +Date: Sat, 04 Mar 2000 11:37:52 GMT +From: "T.E.Dickey" +Subject: Re: Escape sequences for xterm? + +Martin Ramsch wrote: +> On Fri, 3 Mar 2000 15:08:59 -0500, +> Oisin "Curly++" Curtin wrote: +>> I think what I need is a listing of xterm escape codes. All the +>> listings I've found are horribly out of date. + +> Did you also have a look at the file "ctlseqs.ms" which is part of +> every xterm packages? + + +Technically, ctlseqs.ms was moved to the doc directory tree some time +ago - depending on how you get xterm, you may not see it - I bundle it +in my xterm tarballs for convenience. + + +The XFree86 xterm supports ANSI color and VT220 emulation + +There's an faq at + [STALE URL] + http://www.clark.net/pub/dickey/xterm/xterm.faq.html + ftp://ftp.clark.net/pub/dickey/xterm + + [2009 URL] + http://invisible-island.net/xterm/xterm.faq.html + +(altavista usually shows my webpage - though I don't search for that ;-) + + + [Altavista was popular before Google saturated the search function.] + + +-- +Thomas E. Dickey +dickey@clark.net +http://www.clark.net/pub/dickey + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +References: +Message-ID: +Date: Sat, 04 Mar 2000 14:39:17 GMT +NNTP-Posting-Date: Sat, 04 Mar 2000 14:39:17 GMT +From: "T.E.Dickey" +Subject: Re: Escape sequences for xterm? + +Curly++ wrote: +> +> I've added an escape sequence to xterm so the expect script can +> be triggered by the few predictable strings and use `send_user` +> to trigger a screen dump to an external file. I'd like to use a +> "correct" sequence and submit this as a patch to the xterm +> maintainer. This seems to me a general solution to a set of +> problems that turn up occassionaly. + +While it's useful, this is generally frowned upon as a security problem. +I don't think it'll get much general acceptance. + +-- +Thomas E. Dickey +dickey@clark.net +http://www.clark.net/pub/dickey + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +References: + +NNTP-Posting-Host: modem-88-4-60-62.vip.uk.com +Message-ID: <38C15701.7CF1A007@tinyworld.co.uk> +Date: Sat, 04 Mar 2000 18:33:37 +0000 +From: Paul Williams +Subject: Re: Escape sequences for xterm? + +"T.E.Dickey" wrote: +> +> Curly++ wrote: +> +> > I've added an escape sequence to xterm so the expect script can +> > be triggered by the few predictable strings and use `send_user` +> > to trigger a screen dump to an external file. I'd like to use a +> > "correct" sequence and submit this as a patch to the xterm +> > maintainer. This seems to me a general solution to a set of +> > problems that turn up occassionaly. +> +> While it's useful, this is generally frowned upon as a security problem. +> I don't think it'll get much general acceptance. + + +It is possible for a host computer to grab the contents of the screen +of a Digital VT420. Howeve, xterm doesn't emulate a VT420 (yet?) + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +References: + +Organization: The Minetown Digger +Message-ID: +Date: Sun, 5 Mar 2000 15:32:03 -0500 +From: ocurtin@NOSPAM.usa.net (Curly++) +Subject: Re: Escape sequences for xterm? + +On 3 Mar 2000 22:51:21 +0100, Martin Ramsch wrote: +> +> On Fri, 3 Mar 2000 15:08:59 -0500, +> Oisin "Curly++" Curtin wrote: +> > I think what I need is a listing of xterm escape codes. All the +> > listings I've found are horribly out of date. +> +> Did you also have a look at the file "ctlseqs.ms" which is part of + +> groff -ms -t -Tlatin1 ctlseqs.ms >ctlseqs.txt for text output + + +Ah! Thanks, Martin. That's the answer all right! + +I'm not a gruff person, er, I mean I'm not a groff person so the +.ms didn't mean anthing to me. I'll suggest that your answer be +added to the FAQ for all us ignoramuses. :-) + + +-- +Oisin "Curly++" Curtin ocurtin@SPAM.usa.net +Surface Liaison, Minetown Digger Send no SPAM. + http://pages.infinit.net/curlypp/ + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +From: ocurtin@NOSPAM.usa.net (Curly++) +Subject: Re: Escape sequences for xterm? +References: + + +Organization: The Minetown Digger +Message-ID: +Date: Sun, 5 Mar 2000 15:39:42 -0500 + + +On Sat, 04 Mar 2000 11:37:52 GMT, T.E.Dickey wrote: +> Martin Ramsch wrote: +> > On Fri, 3 Mar 2000 15:08:59 -0500, +> > Oisin "Curly++" Curtin wrote: +> >> I think what I need is a listing of xterm escape codes. All the +> >> listings I've found are horribly out of date. +> +> > Did you also have a look at the file "ctlseqs.ms" which is part of +> > every xterm packages? +> +> Technically, ctlseqs.ms was moved to the doc directory tree some time +> ago - depending on how you get xterm, you may not see it - I bundle it + +I must have an old copy then. + +AFAIK, I did check the lastest FAQ at clark. Can MR's reply be +added so "us unwashed masses" can cut'n'paste the right command +to see it? TIA, either way. + + +-- +Oisin "Curly++" Curtin ocurtin@SPAM.usa.net +Surface Liaison, Minetown Digger Send no SPAM. + http://pages.infinit.net/curlypp/ + + + +Newsgroups: comp.terminals,comp.os.linux.admin +References: + +Organization: The Minetown Digger +NNTP-Posting-Host: 24.200.125.165 +Message-ID: +Date: Sun, 5 Mar 2000 16:15:02 -0500 +From: ocurtin@usa.net (Curly++) +Subject: Re: Escape sequences for xterm? + +On Sat, 04 Mar 2000 14:39:17 GMT, T.E.Dickey wrote: +> Curly++ wrote: +> +> > I've added an escape sequence to xterm so the expect script can +> > be triggered by the few predictable strings and use `send_user` +> > to trigger a screen dump to an external file. I'd like to use a +> > "correct" sequence and submit this as a patch to the xterm +> > maintainer. This seems to me a general solution to a set of +> > problems that turn up occassionaly. +> +> While it's useful, this is generally frowned upon as a security problem. +> I don't think it'll get much general acceptance. + +DISCLAIMER: I'm not a security expert and I don't play one on TV. + +You're referring to the log problem? I haven't read all about +it, but I gather it's not logging per se, but the fact that the +destination file is uncontrolled that causes a problem. + +I plan to make screen-scraping secure by allowing the user only +limited control of the destination filename and ignoring the +request if the file already exists. That means the screen-scrape +will never, for example, add a line to ~/.profile. This forces +the external script to delete files, but then the script needs +much less logic to read the image that way. + +I'm not sure, but I think the solution to the logging problem is +similar: restrict the name and location of the file to something +less than anywhere/anything and use more elaborate fstat code in +place of the access tests. Maybe even put a magic cookie at the +top of new logs and never append to an existing log if it doesn't +have a cookie on top. A cookie is a lot of extra code though, I +wouldn't do it unless the real security experts say it's needed. + +BTW, I have to add this... +My partner is not used to seeing me grinning from ear to ear and +muttering under my breath "Wow! That's neat!" and similar things. +This code is an absolute _pleasure_ to work with. + + +-- +Oisin "Curly++" Curtin ocurtin@SPAM.usa.net +Surface Liaison, Minetown Digger Send no SPAM. + http://pages.infinit.net/curlypp/ + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +References: + + <38C15701.7CF1A007@tinyworld.co.uk> +Organization: The Minetown Digger +Reply-To: ocurtin@NOSPAM.usa.net +User-Agent: slrn/0.9.5.4 (UNIX) +Lines: 15 +Date: Sun, 5 Mar 2000 16:32:52 -0500 +From: ocurtin@NOSPAM.usa.net (Curly++) +Subject: Re: Escape sequences for xterm? + +On 04 Mar 2000, Paul Williams wrote: + +> It is possible for a host computer to grab the contents of the screen +> of a Digital VT420. Howeve, xterm doesn't emulate a VT420 (yet?) + +But doesn't that go back to the remote application? I think +`expect` could divert the output, but having dealt with timing +issues before, I feel more comfortable if the data *cannot* +go out the wrong way no matter how hard it tries. + + +-- +Oisin "Curly++" Curtin ocurtin@SPAM.usa.net +Surface Liaison, Minetown Digger Send no SPAM. + http://pages.infinit.net/curlypp/ + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +References: + + + +Organization: Clark Internet Services, Inc., Ellicott City, MD USA +Message-ID: +Date: Sun, 05 Mar 2000 23:55:17 GMT +From: "T.E.Dickey" +Subject: Re: Escape sequences for xterm? + +Curly++ wrote: +>> Technically, ctlseqs.ms was moved to the doc directory tree some time +>> ago - depending on how you get xterm, you may not see it - I bundle it + +> I must have an old copy then. + +> AFAIK, I did check the lastest FAQ at clark. Can MR's reply be +> added so "us unwashed masses" can cut'n'paste the right command +> to see it? TIA, either way. + +maybe (I've been more busy fixing bugs in various programs recently than +updating webpages). + +-- +Thomas E. Dickey +dickey@clark.net + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +References: + + +Organization: The Minetown Digger +Message-ID: +Date: Mon, 6 Mar 2000 12:37:00 -0500 +From: ocurtin@usa.net (Curly++) +Subject: Re: Escape sequences for xterm? + +In comp.terminals, Curly++ proclaimed: + +> DISCLAIMER: I'm not a security expert and I don't play one on TV. + +Geez, I'll never get that TV job. + +I went back to look at Morten Welinder and Branden Robinson's +postings to bugtraq. Ya now, I don't even have to think to see +how *machines* could get confused splitting the data stream +between the local screen-image and the remote host. But Morten +Welinder clearly is describing the same kind of timing issue, +except the failure is in human ethical subroutines. I didn't see +it until I'd read it three times. Such is the life of an +optimist. + +I'm off to carefully read (at least three times!) the proposed +logging patch. + + +-- +Oisin "Curly++" Curtin ocurtin@SPAM.usa.net +Surface Liaison, Minetown Digger Send no SPAM. + http://pages.infinit.net/curlypp/ + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +Organization: Columbia University +Message-ID: <8a1bfi$sn5$1@newsmaster.cc.columbia.edu> +References: + + +Date: 6 Mar 2000 22:29:06 GMT +From: Jeffrey Altman +Subject: Re: Escape sequences for xterm? + +In article , +Curly++ wrote: +: In comp.terminals, Curly++ proclaimed: +: +: > DISCLAIMER: I'm not a security expert and I don't play one on TV. +: +: Geez, I'll never get that TV job. +: +: I went back to look at Morten Welinder and Branden Robinson's +: postings to bugtraq. Ya now, I don't even have to think to see +: how *machines* could get confused splitting the data stream +: between the local screen-image and the remote host. But Morten +: Welinder clearly is describing the same kind of timing issue, +: except the failure is in human ethical subroutines. I didn't see +: it until I'd read it three times. Such is the life of an +: optimist. +: +: I'm off to carefully read (at least three times!) the proposed +: logging patch. + + +There is no safe way for a host to specify a file name that should +be used for logging, or printing, or any other kind of output. If +host automated logging is the be provided it MUST be: + + . authorized by the client + + . to a file specified by the client + +This should not be done via a standard control sequence. If it is +going to be done it should be performed via a private sequence (preferably +not a '?' sequence) or via an APC. + + Jeffrey Altman * Sr.Software Designer * Kermit-95 for Win32 and OS/2 + The Kermit Project * Columbia University + 612 West 115th St #716 * New York, NY * 10025 + http://www.kermit-project.org/k95.html * kermit-support@kermit-project.org + + ////////////////////////////////////////////////////////////////////////////// + +From: ocurtin@NOSPAM.usa.net (Curly++) +Newsgroups: comp.terminals,comp.os.linux.admin +Subject: Re: Escape sequences for xterm? +References: + + + <8a1bfi$sn5$1@newsmaster.cc.columbia.edu> +Organization: The Minetown Digger +Date: Mon, 6 Mar 2000 22:10:52 -0500 + + +In comp.os.linux.admin, Jeffrey Altman proclaimed: +> In article , +> Curly++ wrote: +> : In comp.terminals, Curly++ proclaimed: +> : +> : > DISCLAIMER: I'm not a security expert and I don't play one on TV. +> : +> : Geez, I'll never get that TV job. +> : +> : I went back to look at Morten Welinder and Branden Robinson's +> : postings to bugtraq. Ya now, I don't even have to think to see +> : how *machines* could get confused splitting the data stream +> : between the local screen-image and the remote host. But Morten +> : Welinder clearly is describing the same kind of timing issue, +> : except the failure is in human ethical subroutines. I didn't see +> : it until I'd read it three times. Such is the life of an +> : optimist. +> : +> : I'm off to carefully read (at least three times!) the proposed +> : logging patch. +> +> There is no safe way for a host to specify a file name that should +> be used for logging, or printing, or any other kind of output. If + + +It's a connundrum, all right. I started this thinking it would be a +breeze. Making the part I needed was simple and straightforward. +Fitting it into the configurator was a bit more work. But making it +secure enough to distribute... this is tough! + +> host automated logging is the be provided it MUST be: +> +> . authorized by the client + +Yes. Authorization may be implicit, just as you "authorize" someone +to modify your log files by connectiong to your anonymous FTP server, +so too you might provide a very limited authorization to write to a +file within a carefully proscribed namespace. + +> . to a file specified by the client + +I've only really considered *nix for building a name. But I +suspect this can be easily addapted to other OSs. + +I had hoped I could use the code that opens the log in the patch +posted to bugtraq, but the method seems broken to me. Also, I +can't see how it deals with the symlink problem, but I haven't +had time to play with it yet. It is broken in terms of the +forced naming. First, it allows the file to be anywhere because +it opens it in the current directory. I think it should be +restricted to a selection between the user's home directory and +the system-wide tmp directory. Second, using the time to create +a "unique" name is just wrong. A user starting two sessions from +the same shell script will have a problem, but can deal with it +by adding "sleep" to slow down that expensive, fast computer. +However, if it's two different users clicking at the same time, +the user cannot predict or prevent the collision. It would have +been less work and more reliable to use UID and PID instead of +time. Still not perfect, but at least the user can clean out old +files to prevent collisions. + +I'm planning to put two restrictions. First, a screen dump must +go to a new file. This is harsh, but I think I need it to deal +with the symlink race problem. Second, the pathname of the file +is severely restricted. As long as the script/host has just a +little control, it can do nice things for the user. It doesn't +need full control of the pathname. + +The pathname will be [dir]/screen[.UID.PID].txt where [dir] is +required and must be either "/tmp" or "/home/me". Home would be +determined from /etc/passwd, not from $HOME. I'd like to make +".UID.PID" replaceable within a narrow range. With these +restrictions, an external script which started the xterm (see +/bin/expect) can have just enough control to detect some trigger +and grab a screen image. A script should not be forced to do +extra work between keystrokes to clear the file if a name change +will be sufficient. + +Requiring that a new file be created for each screen dump partly +protects existing files from modification, but doesn't fully deal +with the symlink race condition. I expect that can be solved +using the low-level I/O library, (i.e. open instead of fopen) but +I haven't set up the experiment yet. + + +Now, I *don't* think like a cracker, so if I've missed anything, +please point it out to me! + + +> This should not be done via a standard control sequence. If it is +> going to be done it should be performed via a private sequence (preferably +> not a '?' sequence) or via an APC. + +Hmm. I was thinking... + +OSC Ps ; P1 ; P2 ; Pt ST +where Ps is the unique value to select this service, +p1 is 0 for "use home", 1 for "use /tmp" +p2 is 0 for mode 0666, 1 for mode 0600 +Pt is: empty to use UID.PID + " " (blank) to eliminate UID.PID + or 1-8 digits, letters and period. + +A malicious host or a broken program could fill a partition with +files named screen.1.txt, screen.2.txt and so on. But I think +that's all it can do. Is filling the disk a serious enough +threat to limit the Pt to one character? That wouldn't be harsh, +but I think it's unnecessary. + +Why is this a bad idea? + + +-- +Oisin "Curly++" Curtin ocurtin@SPAM.usa.net +Surface Liaison, Minetown Digger Send no SPAM. + http://pages.infinit.net/curlypp/ + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +References: + + + <8a1bfi$sn5$1@newsmaster.cc.columbia.edu> +Organization: Clark Internet Services, Inc., Ellicott City, MD USA +User-Agent: tin/1.5.2-20000119 ("Sumerland") (UNIX) (SunOS/5.6 (sun4u)) +Lines: 15 +Message-ID: +Date: Tue, 07 Mar 2000 20:34:01 GMT +From: "T.E.Dickey" +Subject: Re: Escape sequences for xterm? + +Curly++ wrote: + +> I had hoped I could use the code that opens the log in the patch +> posted to bugtraq, but the method seems broken to me. Also, I + +briefly, the point of the patch is to ensure that the effective user owns +the file - and no one else. if the file is in a directory that prevents +non-owners from deleting the file, then that covers most of the remaining +issues. (I added a bit to that though - it's in the most recent patch +I made for xterm). + +-- +Thomas E. Dickey +dickey@clark.net + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +Organization: It's in one of the piles +Message-ID: <38C4C0D0.D5AD4FF@rdel.co.uk> +References: + + + <8a1bfi$sn5$1@newsmaster.cc.columbia.edu> +Date: Tue, 07 Mar 2000 08:41:52 +0000 +From: Paul Williams +Subject: Re: Escape sequences for xterm? + +Curly++ wrote: +> +> In comp.os.linux.admin, Jeffrey Altman proclaimed: +> > +> > This should not be done via a standard control sequence. If it is +> > going to be done it should be performed via a private sequence +> > (preferably not a '?' sequence) or via an APC. +> +> Hmm. I was thinking... +> +> OSC Ps ; P1 ; P2 ; Pt ST +> where Ps is the unique value to select this service, +> p1 is 0 for "use home", 1 for "use /tmp" +> p2 is 0 for mode 0666, 1 for mode 0600 +> Pt is: empty to use UID.PID +> " " (blank) to eliminate UID.PID +> or 1-8 digits, letters and period. + +It's a shame that the writers of xterm didn't structure the code space +for OSC in the same way that DEC did with DCS, ie. use the same + + Param ;...; Param Intermediate Final + +structure as for CSI, with extra, textual parameters appearing after +Final and before ST. It would've made the parser a lot simpler, because +you'd know unambiguously where the text starts, even with a variable +number of parameters. At the moment, it seems that the existing codes +are of the form + + OSC Ps ; Pt ST + +which is OK until you add more Ps (or Pn) parameters before Pt. Then you +have to start doing something special in the parser based on the value +of the first Ps. + +(Of course, this decision is historical -- no reflection on the current +maintainers. Never let history get in the way of a good whinge, I say!) + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +Organization: Columbia University +Lines: 41 +Message-ID: <8a33dh$bko$1@newsmaster.cc.columbia.edu> +References: + <8a1bfi$sn5$1@newsmaster.cc.columbia.edu> + <38C4C0D0.D5AD4FF@rdel.co.uk> +Date: 7 Mar 2000 14:23:45 GMT +From: jaltman@watsun.cc.columbia.edu (Jeffrey Altman) +Subject: Re: Escape sequences for xterm? + +In article <38C4C0D0.D5AD4FF@rdel.co.uk>, +Paul Williams wrote: +: > OSC Ps ; P1 ; P2 ; Pt ST +: > where Ps is the unique value to select this service, +: > p1 is 0 for "use home", 1 for "use /tmp" +: > p2 is 0 for mode 0666, 1 for mode 0600 +: > Pt is: empty to use UID.PID +: > " " (blank) to eliminate UID.PID +: > or 1-8 digits, letters and period. +: +: It's a shame that the writers of xterm didn't structure the code space +: for OSC in the same way that DEC did with DCS, ie. use the same +: +: Param ;...; Param Intermediate Final +: +: structure as for CSI, with extra, textual parameters appearing after +: Final and before ST. It would've made the parser a lot simpler, because +: you'd know unambiguously where the text starts, even with a variable +: number of parameters. At the moment, it seems that the existing codes +: are of the form +: +: OSC Ps ; Pt ST +: +: which is OK until you add more Ps (or Pn) parameters before Pt. Then you +: have to start doing something special in the parser based on the value +: of the first Ps. + +The whole purpose of the control sequences OSC, APC, DCS, PM, PU1, PU2 +are so that something special will be done with the contents. If you +can represent the command using X3.64 notation then you should not be +using an OSC but should instead be using a private CSI sequence. + +Just to set the record straight, the OSC sequences for Set Window Title +and Set Icon Name were developed by DEC for the DECterm and were later +supported on windowing versions of the VT terminals. + + + Jeffrey Altman * Sr.Software Designer * Kermit-95 for Win32 and OS/2 + The Kermit Project * Columbia University + 612 West 115th St #716 * New York, NY * 10025 + http://www.kermit-project.org/k95.html * kermit-support@kermit-project.org + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +Organization: It's in one of the piles +Lines: 57 +Message-ID: <38C51FE0.11DD3325@rdel.co.uk> +References: + <8a1bfi$sn5$1@newsmaster.cc.columbia.edu> + <38C4C0D0.D5AD4FF@rdel.co.uk> <8a33dh$bko$1@newsmaster.cc.columbia.edu> +Date: Tue, 07 Mar 2000 15:27:28 +0000 +From: Paul Williams +Subject: Re: Escape sequences for xterm? + +Jeffrey Altman wrote: +> +> In article <38C4C0D0.D5AD4FF@rdel.co.uk>, +> Paul Williams wrote: +> : > OSC Ps ; P1 ; P2 ; Pt ST +> : > where Ps is the unique value to select this service, +> : > p1 is 0 for "use home", 1 for "use /tmp" +> : > p2 is 0 for mode 0666, 1 for mode 0600 +> : > Pt is: empty to use UID.PID +> : > " " (blank) to eliminate UID.PID +> : > or 1-8 digits, letters and period. +> : +> : It's a shame that the writers of xterm didn't structure the code space +> : for OSC in the same way that DEC did with DCS, ie. use the same +> : +> : Param ;...; Param Intermediate Final +> : +> : structure as for CSI, with extra, textual parameters appearing after +> : Final and before ST. It would've made the parser a lot simpler, because +> : you'd know unambiguously where the text starts, even with a variable +> : number of parameters. At the moment, it seems that the existing codes +> : are of the form +> : +> : OSC Ps ; Pt ST +> : +> : which is OK until you add more Ps (or Pn) parameters before Pt. Then you +> : have to start doing something special in the parser based on the value +> : of the first Ps. +> +> The whole purpose of the control sequences OSC, APC, DCS, PM, PU1, PU2 +> are so that something special will be done with the contents. If you +> can represent the command using X3.64 notation then you should not be +> using an OSC but should instead be using a private CSI sequence. + + +You can't represent a command containing a sixel string or filename as a +CSI sequence, so yes, you must use one of the extension mechanisms you +listed above. However, that doesn't stop you structuring these in the +same way as CSI _up to a point_. It makes sense to use as much of the +existing parser for your new sequences, and then just differ at the +point where you need parameters that don't fit the CSI structure. Take a +look at all the DCS sequences defined by DEC, and you'll see that that's +exactly what they did. + +> Just to set the record straight, the OSC sequences for Set Window Title +> and Set Icon Name were developed by DEC for the DECterm and were later +> supported on windowing versions of the VT terminals. + +Then I'd say that DEC only ever intended their OSCs to have one +selective parameter. Any more than that, and your sequence starts +getting ambiguous, because ';' doesn't have any standard meaning in OSC. + +Hmm...are you saying that DEC defined the sequence "OSC Ps ; title BEL"? +Because that's the only version of Set Window Title and Set Icon Name +that xterm used to accept. Or was that miscopied across from the DECterm +implementation? + +Which "windowing versions of VT terminals" supported these sequences? + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +Message-ID: <8a39tn$et8$1@pegasus.csx.cam.ac.uk> +References: <38C4C0D0.D5AD4FF@rdel.co.uk> + <8a33dh$bko$1@newsmaster.cc.columbia.edu> <38C51FE0.11DD3325@rdel.co.uk> +NNTP-Posting-Host: ursa.cus.cam.ac.uk +Organization: University of Cambridge, England +Date: 7 Mar 2000 16:14:47 GMT +From: bjh21@cus.cam.ac.uk (Ben Harris) +Subject: Re: Escape sequences for xterm? + +In article <38C51FE0.11DD3325@rdel.co.uk>, +Paul Williams wrote: +>Hmm...are you saying that DEC defined the sequence "OSC Ps ; title BEL"? +>Because that's the only version of Set Window Title and Set Icon Name +>that xterm used to accept. Or was that miscopied across from the DECterm +>implementation? + +My rather vague understanding, from reading the PuTTY sources (PuTTY +supports both DECterm and xterm title sequences) is that DECterm uses +"OSC Ps L title ST" or somesuch. + +-- +Ben Harris +Unix Support, University of Cambridge Computing Service. + If I wanted to speak for the University, I'd be in ucam.comp-serv.announce. + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +Message-ID: <8a3am2$hs5$1@newsmaster.cc.columbia.edu> +References: <38C4C0D0.D5AD4FF@rdel.co.uk> + <8a33dh$bko$1@newsmaster.cc.columbia.edu> <38C51FE0.11DD3325@rdel.co.uk> +Date: 7 Mar 2000 16:27:46 GMT +Organization: Columbia University +From: jaltman@watsun.cc.columbia.edu (Jeffrey Altman) +Subject: Re: Escape sequences for xterm? + +In article <38C51FE0.11DD3325@rdel.co.uk>, +Paul Williams wrote: +: +: You can't represent a command containing a sixel string or filename as a +: CSI sequence, so yes, you must use one of the extension mechanisms you +: listed above. However, that doesn't stop you structuring these in the +: same way as CSI _up to a point_. It makes sense to use as much of the +: existing parser for your new sequences, and then just differ at the +: point where you need parameters that don't fit the CSI structure. Take a +: look at all the DCS sequences defined by DEC, and you'll see that that's +: exactly what they did. + +And when you can do that you use a DCS instead of an OSC or APC. +DEC was very consistent about this. All DCS sequences follow X3.64 and +the others do not. + +: > Just to set the record straight, the OSC sequences for Set Window Title +: > and Set Icon Name were developed by DEC for the DECterm and were later +: > supported on windowing versions of the VT terminals. +: +: Then I'd say that DEC only ever intended their OSCs to have one +: selective parameter. Any more than that, and your sequence starts +: getting ambiguous, because ';' doesn't have any standard meaning in OSC. +: +: Hmm...are you saying that DEC defined the sequence "OSC Ps ; title BEL"? +: Because that's the only version of Set Window Title and Set Icon Name +: that xterm used to accept. Or was that miscopied across from the DECterm +: implementation? + +DEC defined it. + + DECSWT (Set Window Title) + DECSIN (Set Icon Name) + +: Which "windowing versions of VT terminals" supported these sequences? + +VT5xx has it. And I think the VT420 had it but I don't have a manual to +check against at the moment. + + + + + Jeffrey Altman * Sr.Software Designer * Kermit-95 for Win32 and OS/2 + The Kermit Project * Columbia University + 612 West 115th St #716 * New York, NY * 10025 + http://www.kermit-project.org/k95.html * kermit-support@kermit-project.org + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +Organization: It's in one of the piles +Lines: 20 +Message-ID: <38C52F31.57255BB4@rdel.co.uk> +References: <38C4C0D0.D5AD4FF@rdel.co.uk> + <8a33dh$bko$1@newsmaster.cc.columbia.edu> <38C51FE0.11DD3325@rdel.co.uk> + <8a3am2$hs5$1@newsmaster.cc.columbia.edu> +Date: Tue, 07 Mar 2000 16:32:49 +0000 +From: Paul Williams +Subject: Re: Escape sequences for xterm? + +Jeffrey Altman wrote: +> +> In article <38C51FE0.11DD3325@rdel.co.uk>, +> Paul Williams wrote: +> : +> : You can't represent a command containing a sixel string or filename as a +> : CSI sequence, so yes, you must use one of the extension mechanisms you +> : listed above. However, that doesn't stop you structuring these in the +> : same way as CSI _up to a point_. It makes sense to use as much of the +> : existing parser for your new sequences, and then just differ at the +> : point where you need parameters that don't fit the CSI structure. Take a +> : look at all the DCS sequences defined by DEC, and you'll see that that's +> : exactly what they did. +> +> And when you can do that you use a DCS instead of an OSC or APC. +> DEC was very consistent about this. All DCS sequences follow X3.64 and +> the others do not. + +But this was _only_ a DEC decision. IIRC, DCS is not defined by X3.64 to +have any more structure than OSC or APC. + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals,comp.os.linux.admin +From: "T.E.Dickey" +Subject: Re: Escape sequences for xterm? +References: <38C4C0D0.D5AD4FF@rdel.co.uk> + <8a33dh$bko$1@newsmaster.cc.columbia.edu> <38C51FE0.11DD3325@rdel.co.uk> + <8a39tn$et8$1@pegasus.csx.cam.ac.uk> +Message-ID: <4Rdx4.1096$G15.28286@iad-read.news.verio.net> +Date: Tue, 07 Mar 2000 20:42:40 GMT + +Ben Harris wrote: +> In article <38C51FE0.11DD3325@rdel.co.uk>, +> Paul Williams wrote: +>>Hmm...are you saying that DEC defined the sequence "OSC Ps ; title BEL"? +>>Because that's the only version of Set Window Title and Set Icon Name +>>that xterm used to accept. Or was that miscopied across from the DECterm +>>implementation? + +> My rather vague understanding, from reading the PuTTY sources (PuTTY +> supports both DECterm and xterm title sequences) is that DECterm uses +> "OSC Ps L title ST" or somesuch. + + +yes (OSC is supposed to end with ST, DECterm does the Right Thing). +I had the impression that Sun's use of this sort of escape sequence +preceded DEC's - but since both were implemented ~12 years ago, I'm +not sure (I was using Apollo's at the time, and didn't much like X or +xterm ;-). + +-- XFree86 xterm recognizes both... + +-- +Thomas E. Dickey +dickey(at)clark.net +http://www.clark.net/pub/dickey + + ////////////////////////////////////////////////////////////////////////////// + + +Newsgroups: comp.unix.solaris,comp.terminals,comp.windows.x.apps, + comp.unix.questions +References: <3B4225C4.FB86F2EC@to.gd-es.com> <3b425acd@news.uni-ulm.de> + <20010704190000_rshu@stratagy.com> +User-Agent: tin/1.4.5-20010409 ("One More Nightmare") (UNIX) (SunOS/5.8 (sun4u)) +Organization: united xpiloteers +Message-ID: <3b437542@news.uni-ulm.de> +Supersedes: <3b437389@news.uni-ulm.de> +Date: 4 Jul 2001 21:57:54 +0200 +From: Sven Mascheck +Subject: Re: resetting xterm under Solaris 8 + +[sorry, supersede: named original group, 2 typos] + +In comp.unix.solaris, Richard S. Shuford wrote: +> +> Allen M. Cohen wrote: + +>> Sometimes an xterm session gets stuck in either reverse video state +>> and/or underline state. + +> However, I think Allen is *not* reporting a line-drawing character problem. + +Yup, thanks for pointing out, i confused underline with linedrawing! + +My reference [1]tried to cover this and all related stuff (xterm reset, +using an alias to reset a VT like terminal, reason for linedrawing problems, +as text really becomes unreadable, then) in detail with explanations. + + +> I devised a C-shell hack that sends some appropriate control sequences to +> an DEC-VT100/VT220-compatible terminal or emulator that should bring it to +> a known good state. A uuencoded self-explanatory file "cls.uue" appears +> below. + +Nice idea to use uuencoding to transfer the control sequences via Usenet. + +An alternative i had found in an old Usenet posting ('95) is something +like the follwing (here bourne shell): + + alias vtn='echo "X[mX(BX)0OX[?5lX7X[rX8" | tr "XO" "\033\017"' + +This is even editable on the run when experimenting. + + +BTW, about your control sequences: In XFree86/X11 xterm with +TERM=xterm-xfree86/vt100, the last few characters are "left over" +("8J i"). Perhaps as there is a "nobreakspace" contained. + +When skipping this last control sequence for now, your version would read + + alias vtn='echo "X[4iX[?4iX[?38lX\X(BX)0OX[?5lX[0mX[rX[HX[JY[4iX[?4iX[?38lX\X(BX)0OX[?5lX[0mX[rX[H" | tr "XOY" "\033\017\203"' + +(line broken at end) + + +[I am not sure about the FUP2, comp.terminals?] +Sven +-- +[1] , tuned for critics + + 2003 updated URL: + + http://www.in-ulm.de/~mascheck/various/alternate_charset/ + + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.unix.solaris,comp.terminals,comp.windows.x.apps, + comp.unix.questions +Message-ID: <20010705163030_rshu@stratagy.com> +References: <3B4225C4.FB86F2EC@to.gd-es.com> <3b425acd@news.uni-ulm.de> + + <20010704190000_rshu@stratagy.com> + <3b437542@news.uni-ulm.de> +Organization: Stratagy Users Group +Expires: Wed, 15 Aug 2001 23:59:59 GMT +Date: Thu, 5 Jul 2001 16:30:30 GMT +From: "Richard S. Shuford" +Subject: Re: resetting xterm under Solaris 8 + +Sven Mascheck wrote: +> +> BTW, about your control sequences: In XFree86/X11 xterm with +> TERM=xterm-xfree86/vt100, the last few characters are "left over" +> ("8J i"). Perhaps as there is a "nobreakspace" contained. + + +This is puzzling. The sequence "8J i" does not appear in my file. + +Here again is the uuencoded form: + +----------------------------------------------------------- +begin 444 .cls +J&ULT:1M;/S1I&UL_,SAL&UP;*$(;*3 /&UL_-6P;6S!M&UMR&UM(&UM* + +end +----------------------------------------------------------- + +When decoded and after the unprintables are rendered into printable +tokens, it looks like this: + + ^[[4i^[[?4i^[[?38l^[\^[(B^[)0^O^[[?5l^[[0m^[[r^[[H^[[J + +There is nothing in there that should be interpreted as a "nobreakspace", +if the ANSI X3.64 parsing rules are being properly followed. +Is it possible that your "uudecode" program is decoding improperly? + +The XFree86/X11 distribution contains the "xterm" variant maintained +by Thomas Dickey, and I certainly have tested my little hack with an +earlier version of that package. + +I note that several people have contributed suggestions on how to +reset xterm visual attributes using the "tput" command to extract +codes from the "terminfo" database. This is arguably the "proper" +way to do the job, but my cat-the-file hack does work even if the +terminal type is set wrong, and it also resets some obscure modes +of DEC-style terminals that may not be represented by codes in the +terminfo database. (There are yet some people in the world who are +using real VT420 character-cell terminals to connect to Solaris!) + +Other video-terminal information is archived at + + http://www.cs.utk.edu/~shuford/terminal_index.html (contains file you are now viewing) + + ...Richard S. Shuford + + ////////////////////////////////////////////////////////////////////////////// + +In most Solaris releases, the following trivial shell script is equivalent. + +#!/bin/sh +printf \ +"\033[4i\033[?4i\033[?38l\033\\033(B\033)0\017\033[?5l\033[0m\033[r\033[H\033[J" + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.unix.solaris +Organization: http://groups.google.com/ +Message-ID: <860c5108.0107021102.531938f1@posting.google.com> +References: <4f8fe677.0106282305.58233eb5@posting.google.com> + <9hllcp$sdh$1@news.okay.net> +NNTP-Posting-Date: 2 Jul 2001 19:02:57 GMT +Date: 2 Jul 2001 12:02:56 -0700 +From: cvernon(at)enron.com (Clayton Vernon) +Subject: Re: xterm session crashes very often + +"Thomas Dehn" wrote in message news:<9hllcp$sdh$1@news.okay.net>... +> "Radhakrishnan" wrote: +> > We are using Hummingbird Excedd +> > as Xserver on NT4.0 to connect to +> > boxes across WAN. Very often, the Xserver crashes. Have anyone faced +> > this kind of problem? +> +> Use the current version of eXceed on the PC side. +> Make sure that fonts you are using are available +> to your Xserver. +> +> +> +> Thomas + +i use the hell out of exceed and i've never seen it "crash" per se. + +what i have seen are certain java applications map to the pc display +in a way appearing to "crash" the task bar (they co-opt the entire +display). and, i have seen in these java apps that they have +difficulty permitting keystrokes in the java-based x-window- on one of +my apps i run the java app 'nohup' in the background and completely +kill off the invoking cmdtool/xterm. but, if you kill off the java app +windows returns as normal. + + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.unix.admin,comp.unix.cde,comp.unix.solaris +Path: !uunet!dca.uu.net!newsfeed.fast.net!howland.erols.net + !news.maxwell.syr.edu!news.alt.net!usenet +Organization: NYPD: We don't need no stinkin' license plates! +Message-ID: <9i7aje$lgd$5@pita.alt.net> +References: + <9i43cl$ac6$1@news1.Radix.Net> +Fromage: cypher-@-punk.net goes to /dev/null +Date: 7 Jul 2001 15:41:34 GMT +From: cypher-@-punk.net +Subject: Re: Escape sequence for "clear" command + +In comp.unix.solaris Thomas Dickey wrote: +# In comp.unix.admin guess wrote: +# > Hello, +# +# > I'm using Solaris 8 (SPARC platform). Just started to use dtterm on +# > CDE(prevously was openwin). When I issue the "clear" command in front +# > of the Sun monitor (not using telnet), I want it to clear the +# > screen (cursor at the upper left hand corner, no problem with this). +# > +# > However I don't want it to clear the previous screen buffer, meaning +# > that I'm still able to scroll back to look at previous screen's data. +# > For those of u who have experience in openwin should know what I want +# > coz the "clear" command behaved this way under openwin. But it doesn't +# > work this way anymore under CDE (dtterm), it clears the previous screen +# > buffer as well. I can't scroll back to view the previous screen. +# +# I'd try the ANSI sequences for home, clear to end of display: +# +# \E[H\E[0J +# +# The XFree86 xterm supports ANSI color and VT220 emulation +# There's an faq at +# +# http://dickey.his.com/xterm/xterm.faq.html +# ftp://dickey.his.com/xterm + +And, not that anyone has asked... + +If you want an xterm to repaint the screen after using 'vi', +add these to /usr/share/lib/terminfo/x/xterm: + + tail -1 /usr/share/lib/terminfo/x/xterm.src + rmcup=\E[2J\E[?47l\E8, smcup=\E7\E[?47h, + +Use 'infocmp' to get source from the compiled 'xterm' entry, +use 'tic' to compile it again. + + ////////////////////////////////////////////////////////////////////////////// + +Date: 15 Jul 2001 11:18:48 +0200 +Organization: united xpiloteers +Newsgroups: comp.unix.solaris +Message-ID: <3b515ff8@news.uni-ulm.de> +References: + <3B4F2D40.203CBDFA@kodak.com> +From: Sven Mascheck +Subject: Re: console login terminal color + +Mathew Kirsch wrote: +> Harry Putnam wrote: + +>> If I choose terminal login from the selector thing. I get a white +>> terminal with black foreground. + +> [...] Besides, a graphical console should be used for a GUI. + +$ xterm -xrm 'XTerm*font: gallant' \ + -xrm 'XTerm*background: white' \ + -xrm 'XTerm*foreground: black' \ + -xrm 'XTerm*cursorColor: black' \ + -xrm 'XTerm*scrollBar: False' \ + -xrm 'XTerm.VT100.geometry: 80x34+80+100' \ + -name long_live_the_console + +SvenCNR + + .............................................................................. + +2003 update: + +Subsequently, Sven found that the font alias "gallant" works only +on SunOS 5.5 (Solaris 2.5). Instead, the font name "Gallant19" is +the right choice for the later releases. (And in fact it's +"-sun-gallant-demi-r-normal--19-190-72-72-m-120-iso8859-1"). + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals +References: +Message-ID: <10vn3cvh4mio89b@corp.supernews.com> +Date: Sat, 29 Jan 2005 13:20:31 -0000 +From: Thomas Dickey +Subject: Re: Hot-key to minimize Putty + +Barry wrote: +> +> Any tips for minimizing the current Putty window? + +It might respond to the window-modification escape sequences that xterm +implements. These are demonstrated by vttest... + + http://invisible-island.net/vttest/ + +under menu 11. + +(A quick read of the source code doesn't tell me yes/no to this question; +it does honor the title change). + +-- +Thomas E. Dickey +http://invisible-island.net/ + ftp://invisible-island.net/ + + ////////////////////////////////////////////////////////////////////////////// + +Newsgroups: comp.terminals +References: <20070507215136.GG3593@interface.famille.thibault.fr> +Message-ID: <1340luvjj2uf49d@corp.supernews.com> +Date: Tue, 08 May 2007 10:58:39 -0000 +From: Thomas Dickey +Subject: Re: Getting the cursor coordinates? + +Samuel Thibault wrote: +> +> Hi, +> +> How standard is the CSI 6 n combination for getting the cursor position? +> Can we reasonnably expect usual virtual terminals (unix virtual +> consoles, xterms, ...) to always have it? + + +It doesn't work with Sun's console emulator. Can't test at the moment, +but since I don't see the data for *BSD consoles, the same limitation +may apply there as well. + +-- +Thomas E. Dickey +http://invisible-island.net/ + ftp://invisible-island.net/ + + + ////////////////////////////////////////////////////////////////////////////// +