[net.info-terms] Sysline on a vt100

mark@cbosgd.UUCP (Mark Horton) (11/25/85)

A shell script to run sysline?  Wouldn't it just make sense to post
a terminfo or termcap description to handle it?

We've had sysline running on vt100's here for over 4 years - in fact,
vt100 was one of the original terminals supported back in the days
when there were separate programs called h19sys, vt100sys, and tvisys.

There are terminfo entries for the vt100 with the status line at the
bottom and at the top.  (The shell script just posted appears to put
it at the bottom.)  Experience has shown that it works better at the
top, because clearing the screen wipes it out if it's at the bottom.
(I've also found that I prefer to have my status line at the top of
the screen if I have a choice.)

Note that for status line on top, you have to increment the row numbers
on cursor addressing and changing the scrolling region.  The former is
hard in termcap, although I suspect some games with %r and %i may work.

As to padding, as I recall, sysline handles padding just fine.  I think
the 2's that are being gotten rid of are just unnecessary (since the
vt100 does xon/xoff) and the author was probably getting rid of them
for other programs (especially rain) that don't use termlib as documented.

Here's the standard terminfo for both flavors of status line on vt100.
You can easily translate this into termcap if you like.

	Mark

vt100|vt100-am|dec vt100 (w/advanced video),
	mir, msgr, cr=^M, cud1=^J, ind=^J, bel=^G, cols#80, lines#24, it#8,
	clear=\E[H\E[J$<50>, cub1=^H, am, cup=\E[%i%p1%d;%p2%dH$<5>,
	cuf1=\E[C$<2>, cuu1=\E[A$<2>, el=\E[K$<3>, el1=\E[1K$<3>, ed=\E[J$<50>,
	cud=\E[%p1%dB, cuu=\E[%p1%dA, cub=\E[%p1%dD, cuf=\E[%p1%dC, 
	smso=\E[1;7m$<2>, rmso=\E[m$<2>, smul=\E[4m$<2>, rmul=\E[m$<2>,
	bold=\E[1m$<2>, rev=\E[7m$<2>, blink=\E[5m$<2>, sgr0=\E[m^O$<2>,
	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t^N%e^O%;,
	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, smkx=\E[?1h\E=, rmkx=\E[?1l\E>,
	enacs=\E(B\E)0, smacs=^N, rmacs=^O,
	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
	tbc=\E[3g, hts=\EH, home=\E[H, ht=^I, ri=\EM$<5>,
	kcuu1=\EOA, kcud1=\EOB, kcuf1=\EOC, kcub1=\EOD, kbs=^H,
	vt#3, xenl, xon, sc=\E7, rc=\E8, csr=\E[%i%p1%d;%p2%dr,
vt100-nam|vt100 w/no am (w/advanced video),
	am@, xenl@, use=vt100-am,
# Info:
#	vt100's with one of the 24 lines used as a status line.
#	We put the status line on the top.
#
vt100-s|vt100-s-top|vt100-top-s|vt100 for use with sysline,
	lines#23, is2=\E7\E[2;24r\E8, clear=\E[2;1H\E[J$<50>, home=\E[2;1H,
	dsl=\E7\E[1;24r\E8,
	cup=\E[%i%p1%{1}%+%d;%p2%dH$<5>, csr=\E[%i%i%p1%d;%p2%dr,
	hs, eslok, tsl=\E7\E[1;%p1%dH\E[1K, fsl=\E8, use=vt100-am,
# Info:
#	Status line at bottom. 
#	Clearing the screen will clobber status line.
#
vt100-s-bot|vt100-bot-s|vt100 for use with sysline,
	lines#23, is2=\E[1;23r\E[23;1H, dsl=\E7\E[1;24r\E8,
	hs, eslok, tsl=\E7\E[24;%p1%dH\E[1K, fsl=\E8, use=vt100-am,