termcap entries for VT100 terminals and emulations thereof

 //////////////////////////////////////////////////////////////////////////////


Path: utkcs2!emory!swrinde!cs.utexas.edu!uunet!dtix!relay!relay2!afterlife!adm!smoke!gwyn
References: <1fofb7INNno8@uwm.edu>
Organization: U.S. Army Ballistic Research Lab, APG MD.
Newsgroups: comp.terminals
Message-ID: <19446@smoke.brl.mil>
Date: 8 Dec 1992 19:30:52 GMT
From: gwyn@smoke.brl.mil (Doug Gwyn)
Subject: Re: vt100 = vt100-am?
Lines: 55

In article <1fofb7INNno8@uwm.edu> dave@csd4.csd.uwm.edu (David A Rasmussen) writes:
>
>I was just looking at our terminal setting query program and note
>that we identify alot of vt100 terminals as vt100-am. I then looked
>into the termcap file and as I suspected, vt100 and vt100-am were the
>same entry.  My question is, are the supposed to be the same entry?
>Does anyone have any termcap files where they are not the same terminal
>entries?

"vt100-am" is supposed to denote an entry for the VT100 that specifies
the "am" (auto-margin) capability.  Unfortunately the VT100 does not have
a true "am" capability; it is more complex than that.  The best VT100
termcap description I have managed to assemble over the years follows;
you can convert it to terminfo the usual way:

#
# DEC VT100 with variations for Advanced Video Option and screen width.
# The following SET-UP modes are assumed for normal operation:
#	ANSI_MODE	AUTO_XON/XOFF_ON	NEWLINE_OFF	80_COLUMNS
#	WRAP_AROUND_ON
# Other SET-UP modes may be set for operator convenience or communication
# requirements; I recommend
#	SMOOTH_SCROLL	AUTOREPEAT_ON	BLOCK_CURSOR	MARGIN_BELL_OFF
#	SHIFTED_3_#
# Unless you have a graphics add-on such as Digital Engineering's VT640
# (and even then, whenever it can be arranged!) you should set
#	INTERLACE_OFF
# Hardware tabs are assumed to be set every 8 columns; they can be set up
# by the "reset", "tset", or "tabs" utilities (use vt100-x, 132 columns, for
# this).  I have included some compatible code in "rs" for the VT640 if you
# have one.  No delays are specified; use "stty ixon -ixany" to enable DC3/DC1
# flow control!
# Thanks to elsie!ado (Arthur David Olson) for numerous improvements.
d0|vt100|DEC VT100 with AVO:\
	:ae=^O:as=^N:bl=^G:cd=\E[J:ce=\E[K:cm=\E[%i%d;%dH:co#80:cr=^M:\
	:cs=\E[%i%d;%dr:ct=\E[3g:DO=\E[%dB:do=^J:ho=\E[H:is=\E<\E)0:it#8:\
	:k0=\EOP:k1=\EOQ:k2=\EOR:k3=\EOS:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\
	:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l0=PF1:l1=PF2:l2=PF3:l3=PF4:LE=\E[%dD:\
	:le=^H:li#24:ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:ms:nd=\E[C:\
	:nw=\EE:rc=\E8:RI=\E[%dC:\
	:rs=^X\E<\E2\E[?9h^]\E^L^X\E[20l\E[?3;9;6l\E[r\E[m\E[q\E(B^O\E)0\E>:\
	:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ti=\E[?7l:\
	:te=150\E[?7h:ue=\E[m:UP=\E[%dA:up=\EM:us=\E[4m:vt#3:xo:\
	:cl=\E[H\E[J:\
	:bs:kn#4:pt:
dv|vt100-v|DEC VT100 without AVO:\
	:ue@:us@:\
	:tc=vt100:
d8|vt100-w|DEC VT100 with AVO in 132-column mode:\
	:co#132:ct=\E[?3h\E[g:\
	:rs=^X\E<\E2\E[?9h^]\E^L^X\E[20l\E[?9;6l\E[?3h\E[r\E[m\E[q\E(B^O\E)0\E>:\
	:tc=vt100:
d9|vt100-x|DEC VT100 without AVO in 132-column mode:\
	:ct=\E[?3h\E[g:li#14:ll=\E[14H:ue@:us@:\
	:tc=vt100-w:

 //////////////////////////////////////////////////////////////////////////////

Article 233 of comp.terminals:
Newsgroups: comp.terminals
Path: cs.utk.edu!gatech!paladin.american.edu!darwin.sura.net!haven.umd.edu!uunet!psinntp!cmcl2!adm!smoke!gwyn
Message-ID: <19598@smoke.brl.mil>
References: <C1CCHp.4MF@rex.uokhsc.edu>
Organization: U.S. Army Ballistic Research Lab, APG MD.
Lines: 10
Date: 25 Jan 1993 15:02:59 GMT
From: gwyn@smoke.brl.mil (Doug Gwyn)
Subject: Re: Terminfo databases free?

In article <C1CCHp.4MF@rex.uokhsc.edu> benjamin-goldsteen@uokhsc.edu writes:
>
>      One thing in particular I need to resolve is that our
>Data General AViiON defines el1=\E[1K for vt100.  Our other
>UNIX's don't.  The thing is, when this is defined like that,
>this editor Joe doesn't work.  

Not surprising since the VT100 does not have a "clear to BOL"
capability (termcap "cb" = terminfo "el1").  You should translate
the VT100 termcap I have posted from time to time into terminfo
and use that instead.


 //////////////////////////////////////////////////////////////////////////////

Article 1176 of comp.terminals:
Newsgroups: comp.terminals
Path: cs.utk.edu!gatech!news.ans.net!cmcl2!admii!smoke!gwyn
Message-ID: <20585@smoke.brl.mil>
References: <CD262p.31@rex.uokhsc.edu>
Organization: U.S. Army Ballistic Research Lab, APG MD.
Lines: 78
Date: 10 Sep 1993 21:28:09 GMT
From: gwyn@smoke.brl.mil (Doug Gwyn)
Subject: Re: Termcap/Terminfo question

In article <CD262p.31@rex.uokhsc.edu> benjamin-goldsteen@uokhsc.edu writes:
>
>    I have a simple little termcap/terminfo question.  In one of my termcap
>files (we have so many!) "standout mode" was defined to be VT100 (ANSI?)'s
>reverse video.  In a terminfo file, we have "standout mode" defined to be
>VT100's reverse and bold at the same time and "reverse mode" defined to be
>VT100's reverse.  Does this make sense?  Let me describe it this way:
>
>[terminfo]
>rev=\[E[7m
>smso=\E[1;7m
>[original termcap]
>:so=\E[7m
>:mr@
>[change I made to termcap]
>:so=\E[1;7m
>:mr=\E[7m
>    Is my change correct?  Should so/smso and mr/rev be orthagonal?  If so,
>should I than not define so/smso and only define mr/rev?


You should consult the manual.  In the 4.3BSD termcap(5) manual entry
which I edited, which closely paralleled the System V Release 3 terminfo(4)
entry, it is stated that entering any of the attribute modes may or may
not turn off a previously set mode.  Standout mode is often the same as
one of the attribute modes, and should be half-bright or normal-brightness
reverse video if you have that choice.  I don't recommend reverse bold
for standout but there is nothing technically wrong with choosing that.

>P.S.Anybody know of the official VT100+ termcap and terminfo files?  Whenever
>somebody posts for it, about twenty versions appear - all slightly
>different.  I would think DEC's would be, but after looking at them (under
>OSF/1), I do not like them...

I agree that most of the ones one finds around the net are screwed up;
unfortunately the VT100's behavior is quite complex and is not properly
described by what at first glance look like the appropriate termcap/
terminfo capabilities.  Here is the best one I have been able to come
up with over the years; convert it to terminfo the usual way.

#
# DEC VT100 with variations for Advanced Video Option and screen width.
# The following SET-UP modes are assumed for normal operation:
#	ANSI_MODE	AUTO_XON/XOFF_ON	NEWLINE_OFF	80_COLUMNS
#	WRAP_AROUND_ON
# Other SET-UP modes may be set for operator convenience or communication
# requirements; I recommend
#	SMOOTH_SCROLL	AUTOREPEAT_ON	BLOCK_CURSOR	MARGIN_BELL_OFF
#	SHIFTED_3_#
# Unless you have a graphics add-on such as Digital Engineering's VT640
# (and even then, whenever it can be arranged!) you should set
#	INTERLACE_OFF
# Hardware tabs are assumed to be set every 8 columns; they can be set up
# by the "reset", "tset", or "tabs" utilities (use vt100-x, 132 columns, for
# this).  I have included some compatible code in "rs" for the VT640 if you
# have one.  No delays are specified; use "stty ixon -ixany" to enable DC3/DC1
# flow control!
# Thanks to elsie!ado (Arthur David Olson) for numerous improvements.
d0|vt100|DEC VT100 with AVO:\
	:ae=^O:as=^N:bl=^G:cd=\E[J:ce=\E[K:cm=\E[%i%d;%dH:co#80:cr=^M:\
	:cs=\E[%i%d;%dr:ct=\E[3g:DO=\E[%dB:do=^J:ho=\E[H:is=\E<\E)0:it#8:\
	:k0=\EOP:k1=\EOQ:k2=\EOR:k3=\EOS:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\
	:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l0=PF1:l1=PF2:l2=PF3:l3=PF4:LE=\E[%dD:\
	:le=^H:li#24:ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:ms:nd=\E[C:\
	:nw=\EE:rc=\E8:RI=\E[%dC:\
	:rs=^X\E<\E2\E[?9h^]\E^L^X\E[20l\E[?3;9;6l\E[r\E[m\E[q\E(B^O\E)0\E>:\
	:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ti=\E[?7l:\
	:te=150\E[?7h:ue=\E[m:UP=\E[%dA:up=\EM:us=\E[4m:vt#3:xo:\
	:cl=\E[H\E[J:\
	:bs:kn#4:pt:
dv|vt100-v|DEC VT100 without AVO:\
	:ue@:us@:\
	:tc=vt100:
d8|vt100-w|DEC VT100 with AVO in 132-column mode:\
	:co#132:ct=\E[?3h\E[g:\
	:rs=^X\E<\E2\E[?9h^]\E^L^X\E[20l\E[?9;6l\E[?3h\
\E[r\E[m\E[q\E(B^O\E)0\E>:\
	:tc=vt100:
d9|vt100-x|DEC VT100 without AVO in 132-column mode:\
	:ct=\E[?3h\E[g:li#14:ll=\E[14H:ue@:us@:\
	:tc=vt100-w:


 //////////////////////////////////////////////////////////////////////////////

Newsgroups: comp.terminals
References: <YD4Ud.594718$b5.27132246@news3.tin.it>
    <Edt*dHdIq@news.chiark.greenend.org.uk>
    <LJjUd.970323$35.36188419@news4.tin.it>
    <1123l2ihbmv7h8c@corp.supernews.com>
    <y2mUd.597124$b5.27288173@news3.tin.it>
    <1124424qr0o6e19@corp.supernews.com>
    <Y9qUd.598160$b5.27346232@news3.tin.it>
    <1124dpgmnu60gfe@corp.supernews.com> <3DrUd.972836$35.36315390@news4.tin.it>
Message-ID: <1124jfu1s5om88f@corp.supernews.com>
Date: Sun, 27 Feb 2005 22:47:26 -0000
From: Thomas Dickey <dickey*saltmine.radix.net>
Subject: Re: PuTTY and GNU screen

Pierluigi Di Lorenzo <dilox*eprometeus.com> wrote:
>
> OK, what file I have to edit to change values on binary file
> /usr/share/terminfo/p/putty?
>
> (I hope I understand well..)
> Thank's again, please be patient


"tic" and "infocmp" operate on those files.  Use infocmp to get the contents.
If I were modifing the putty (binary) file, I'd do something like

        infocmp putty > foo
        vi foo
        tic foo

For example, on this host I have terminfo entries in my user directory
(since radixnet is _not_ my home machine):

#       Reconstructed via infocmp from file:
/export/home/dickey/lib/terminfo/p/putty
putty|PuTTY terminal emulator,
        am, bw, ccc, hs, mir, msgr, xenl, xon,
        colors#8, it#8, ncv#22, pairs#64,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
        civis=\E[?25l, clear=\E[H\E[J, cnorm=\E[?25h, cr=\r,
        csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\b,
        cud=\E[%p1%dB, cud1=\ED, cuf=\E[%p1%dC, cuf1=\E[C,
        cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
        dch=\E[%p1%dP, dch1=\E[P,
        dispc=%?%p1%{8}%=%t\E%%G\342\227\230\E%%@%e%p1%{10}%=%t\E%%G\342\227\231p1%{12}%=%t\E%%G\342\231\200\E%%@%e%p1%{13}%=%t\E%%G\342\231\252\E%%@%e%p1%{14}%=%t\E%%G\342\231\253\E%%@%e%p1%{15}%=%t\E%%G\342\230\274\E%%@%e%p1%{27}%=%t\E%%G\342\206\220\E%%@%e%p1%{155}%=%t\E%%G\340\202\242\E%%@%e%p1%c%;,
        dl=\E[%p1%dM, dl1=\E[M, dsl=\E]0;^G, ech=\E[%p1%dX,
        ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
        flash=\E[?5h\E[?5l, fsl=^G, home=\E[H,
        hpa=\E[%i%p1%dG, ht=\t, hts=\EH, il=\E[%p1%dL,
        il1=\E[L, ind=\n, indn=\E[%p1%dS,
        initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}}%/%02x,
        is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R,
        kb2=\E[G, kbs=^?, kcan=^C, kcbt=\E[Z, kcub1=\E[D,
        kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~,
        kend=\E[4~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
        kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
        kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
        kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~,
        kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
        kf9=\E[20~, khome=\E[1~, kich1=\E[2~, kmous=\E[M,
        knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=\r\n, oc=\E]R,
        op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM,
        rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l,
        rmcup=\E[2J\E[?47l, rmir=\E[4l, rmpch=\E[10m,
        rmso=\E[27m, rmul=\E[24m,
        rs2=\E<\E["p\E[50;6"p\Ec\E[?3l\E]R, s0ds=\E[10m,
        s1ds=\E[11m, s2ds=\E[12m, sc=\E7, setab=\E[4%p1%dm,
        setaf=\E[3%p1%dm,
        sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t^N
        sgr0=\E[m^O, smacs=^N, smam=\E[?7h, smcup=\E[?47h,
        smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
        tbc=\E[3g, tsl=\E]0;, u6=\E[%i%d;%dR, u7=\E[6n,
        u8=\E[?6c, u9=\E[c, vpa=\E[%i%p1%dd,

-- 
Thomas E. Dickey
http://invisible-island.net/
 ftp://invisible-island.net/

 //////////////////////////////////////////////////////////////////////////////


