Terminfo tweek to UNIXpc/7300/Safari 4

John B. Milton jbm at uncle.UUCP
Sun Feb 25 22:04:24 AEST 1990


While goofing around with the Voice Power Design Tool, I noticed that it left
the window in NON-autowrap mode, something I did not think was possible. I
already knew that <ESC>[?7h and <ESC>[?7l did not work. The only weird escape
sequence that turned up in a "strings -2 -a /usr/bin/vdt | grep '\['" was
"[=0w", which sure enough is Wrap off, <ESC>[=1w does turn autowrap back on.

Another attribute I found doing strings scans, this time on PaintPower, was
"[=%d;%dm", which after some goofing around tuned out to be (hint "m") set
attribute absolute. The first parameter is a bit field of which attributes to
turn on and the second is which to turn off. The bits are as defined in
/usr/include/sys/window.h:

/* character attribute masks		*/
#define A_UNDERLINE	1
#define A_REVERSE	2
#define A_BOLD		4
#define A_STRIKE	8
#define A_DIM		16

This lead me to find "<ESC>[9m" which turns on the STRIKE-out attribute.
The setting part is nothing new since <ESC>[<n>m already does that however,
the removing of attributes is VERY significant, since a single attribute can
be tuned off without affecting other attributes. Now the rm?? terminfo
characteristics can be CORRECTLY defined.

I hacked up the UNIXpc terminfo a while ago to add the stuff in escape(7)
that was not in the terminfo entry that came with the terminfo stuff. The
current version is below, complete with the Ditto hack to support the line
drawing characters. The changes are smam, rmam and a change to is2. The dl and
il are VERY noticable on a 1200 dialup. I added an "sgr" characteristic
which uses the <ESC>[=<n>;<n>m thingy. I could have defined blink as strike,
but decided not to.

Ok, all you folks out there with kernel source, in particular window driver
source: Please dig in there and tell us what all the other undocumented
escape sequences are!

---/etc/rc---
# Make vt100 line drawing the alternate font
sfont /usr/lib/wfont/BLD.ft 1
setf /usr/lib/wfont/BLD.ft 1
------

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  7300.ti
# Wrapped by jbm at uncle on Sun Feb 25 06:00:51 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f '7300.ti' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'7300.ti'\"
else
echo shar: Extracting \"'7300.ti'\" \(997 characters\)
sed "s/^X//" >'7300.ti' <<'END_OF_FILE'
Xs4|7300|unixpc|pc7300|PC7300|unix_pc|3b1|AT&T UNIX PC Model 7300,
X	am, mir, msgr, km,
X	cols#80, it#8, lines#24,
X	acsc=+h\,g.e-fjjkkllmmnnqqttuuvvwwxx,
X	bel=^G, bold=\E[1m, civis=\E[=1C, clear=\E[H\E[2J,
X	cnorm=\E[=C, cr=\r, cub=\E[%p1%dD, cub1=\b,
X	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
X	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
X	cvvis=\E[=C, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
X	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
X	home=\E[H, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
X	il1=\E[L, ind=\n, indn=\E[%p1%dS,
X	is2=\E[H\E[2J\E[m^O\E[=1w, kbs=\b, kcub1=\E[D, kcud1=\E[B,
X	kcuf1=\E[C, kcuu1=\E[A, kf1=\EOc, kf2=\EOd, kf3=\EOe,
X	kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj,
X	nel=\EE, rev=\E[7m, ri=\EM, rin=\E[%p1%dT,
X	rmacs=^O, rmam=\E[=w, rmso=\E[=;4m, rmul=\E[=;1m, sgr0=\E[m^O,
X	sgr=\E[m%?%p1%p2%|%p3%|%p5%|%p6%|%t\E[=%{0}%?%p1%p6%|%t%{4}%+%;%?%p2%t%{1}%+%;%?%p3%t%{2}%+%;%?%p5%t%{16}%+%;%dm%;%?%p9%t^N%e^O%;,
X	smacs=^N, smam=\E[=1w, smso=\E[1m, smul=\E[4m,
END_OF_FILE
if test 997 -ne `wc -c <'7300.ti'`; then
    echo shar: \"'7300.ti'\" unpacked with wrong size!
fi
# end of '7300.ti'
fi
echo shar: End of shell archive.
exit 0

Sheeesh 6am already. 'night folks

John
-- 
John Bly Milton IV, jbm at uncle.UUCP, n8emr!uncle!jbm at osu-cis.cis.ohio-state.edu
(614) h:252-8544, w:469-1990; N8KSN, AMPR: 44.70.0.52; Don't FLAME, inform!



More information about the Unix-pc.general mailing list