[comp.sys.att] Terminfo tweek to UNIXpc/7300/Safari 4

jbm@uncle.UUCP (John B. Milton) (02/25/90)

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@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@uncle.UUCP, n8emr!uncle!jbm@osu-cis.cis.ohio-state.edu
(614) h:252-8544, w:469-1990; N8KSN, AMPR: 44.70.0.52; Don't FLAME, inform!

tanya@adds.newyork.NCR.COM (Tanya Katz) (02/26/90)

In article  <771@uncle.UUCP> (John B. Milton) writes:

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

Shouldn't these commands be put in the /etc/fontload file?
Also, are both these necessary?  I think the first command does it all,
and line 2 is just redundant...  I'm not sure, but I know that I recently
changed this on my machine so that /etc/fontload handles this.

-Tanya


+------------------------------------------------+
| Tanya Katz                  (516)231-5400 x430 |
|          ...uunet!ncrlnk!adds!tanya            |
|         tanya.katz@adds.newyork.ncr.com        |
| ADDS Inc, 100 Marcus Blvd, Hauppauge, NY 11788 |
+------------------------------------------------+

wjc@ho5cad.ATT.COM (Bill Carpenter) (02/27/90)

On 25 Feb 90 11:04:24 GMT, jbm@uncle.UUCP (John B. Milton) said:

jbm> sequence that turned up in a "strings -2 -a /usr/bin/vdt | grep
jbm> '\['" was "[=0w", which sure enough is Wrap off, <ESC>[=1w does
jbm> turn autowrap back on.

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

Well, I'm not sitting in front of escape(7), but I knew about wrap-on
and wrap-off becasue I saw them in there just last week.  (I have
never seen any kind of source code for this machine, other than the
kinds that everyone has seen.)  I also knew about (and have used)
strikeout mode somehow (but that may have been trial and error on
values for the "\033[ P1 m" sequence); dunno if I ever saw what you
called "absolute" attribute stuff.  Since I saw this at least some of
this in the docs, maybe you have an older version of escape(7).

BTW, speaking of kismet....  Since I loaded FIXDISK 2.0, all of my
windows seem to be "linewrap off" by default.  I have to give them ye
olde escape sequence to get them to match my terminfo (actually JBM's
previously posted version of what he just posted).  It's possible that
I have had some other change and just noticed this recently, but it
seems unlikely.  Anybody else notice this change?  (If you run
GNUemacs, for long lines it inserts the "\" but then believes the
window will wrap the line, so it doesn't bother.  Looks quite ill.)
--
   Bill Carpenter         att!ho5cad!wjc  or  attmail!bill

jcm@mtune.ATT.COM (John McMillan) (02/28/90)

In article <WJC.90Feb26190457@hoswjc.ho5cad.ATT.COM> William_J_Carpenter@ATT.COM (Bill) writes:
:
>BTW, speaking of kismet....  Since I loaded FIXDISK 2.0, all of my
>windows seem to be "linewrap off" by default.  I have to give them ye
>olde escape sequence to get them to match my terminfo (actually JBM's
>previously posted version of what he just posted).  It's possible that
>I have had some other change and just noticed this recently, but it
>seems unlikely.  Anybody else notice this change?  (If you run
:

	If this IS true, please inform me.  However, I doubt that
	it is since no code was [knowingly 8)] changed that was
	associated with this.
	
	I believe that would have to be incorporated in
	'/etc/lddrv/wind.o', so you could test your hypothesis
	by switching files and rebooting.  (The lost functionality
	using the OLD wind.o would be META-KEY would not work 
	and some obscure mouse-versus-undeblank glitch would
	re-appear... if it WAS fixed!-) )

john mcmillan -- att!mtune!jcm -- author of "Hell Hath NO Fury Like a
						Deranged Kernel Patch"