jones@darth.UUCP (Davey Jones) (09/08/85)
Back in the good(?) old days of System III and Version 7 there was a terminal initialization program called 'tset'. Even though this is still referenced in the 3B2 documentation in TERMINFO(4) I can find neither hide nor hair of it. If anyone has implemented the equivalent function or knows of one I would very much appreciate hearing about it.
mjs@sfmag.UUCP (M.J.Shannon) (09/10/85)
> Back in the good(?) old days of System III and Version 7 there was a terminal > initialization program called 'tset'. Even though this is still referenced in > the 3B2 documentation in TERMINFO(4) I can find neither hide nor hair of it. > If anyone has implemented the equivalent function or knows of one I would very > much appreciate hearing about it. tset(1) came from Berkeley. Many systems had it in `local bins' (like /usr/lbin). It was never shipped with either V7 or System III. The Berkeley source can be made to work on a System V machine by changing the ioctl() calls appropriately. -- Marty Shannon UUCP: ihnp4!attunix!mjs Phone: +1 (201) 522 6063 Disclaimer: I speak for no one.
arnold@gatech.CSNET (Arnold Robbins) (09/10/85)
In article <167@darth.UUCP>, jones@darth.UUCP (Davey Jones) writes: > Back in the good(?) old days of System III and Version 7 there was a terminal > initialization program called 'tset'. Even though this is still referenced in > the 3B2 documentation in TERMINFO(4) I can find neither hide nor hair of it. I suspect that the reason it is quoted in terminfo(4) is that that page is an almost literal transcription of the Berkeley termcap(5) man page. Berkeley, being a descendant of V7, still has tset. I too noticed that they mentioned it, and just sorta smiled. > If anyone has implemented the equivalent function or knows of one I would very > much appreciate hearing about it. This shouldn't be a hard program to write, altho it is often very little fun to re-invent the wheel. (Of course, if you want to enter into a friendly little consulting agreement, let me know.... :-) -- Arnold Robbins CSNET: arnold@gatech ARPA: arnold%gatech.csnet@csnet-relay.arpa UUCP: { akgua, allegra, hplabs, ihnp4, seismo, ut-sally }!gatech!arnold Hello. You have reached the Coalition to Eliminate Answering Machines. Unfortunately, no one can come to the phone right now....
guy@sun.uucp (Guy Harris) (09/11/85)
> Back in the good(?) old days of System III and Version 7 there was a > terminal initialization program called 'tset'. Even though this is > still referenced in the 3B2 documentation in TERMINFO(4) I can find neither > hide nor hair of it. Well, "tset" was a program written at Berkeley (I presume) by Eric Allman. It didn't come with V7 or S3. However, it has a number of #ifdef flags which should make it possible to compile one that runs under V7 or S3, assuming you have "termcap". (You may have to do a little work to get it to work.) It uses the "tget..." calls in the "termcap" library which are simulated by calls in the "terminfo" library, so it shouldn't be too much work to get it running under S5R2 with "terminfo". I don't know what the distribution restrictions on the source to "tset" are, but if you're allowed to have the source you might try bringing it up. I suspect the reason it's documented in TERMINFO(4) is that the curses/terminfo library was intended to run under a lot of UNIX variants (the version that comes with S5R2 has code for 4.1BSD, including catching SIGTSTP; this code assumes that signal handlers are reset to SIG_DFL when the handler is entered, so it has to be changed to work under 4.2BSD), one such variant being 4.xBSD. Guy Harris
rrt@duke.UUCP (Russell R. Tuck) (09/11/85)
> Back in the good(?) old days of System III and Version 7 there was a terminal > initialization program called 'tset'. Even though this is still referenced in > the 3B2 documentation in TERMINFO(4) I can find neither hide nor hair of it. > If anyone has implemented the equivalent function or knows of one I would very > much appreciate hearing about it. This won't immediately help you, but SVR2 on the Unixpc (7300) has a tset. Does that mean it will show up on the 3Bs in a future release? I don't know.
mark@cbosgd.UUCP (Mark Horton) (09/16/85)
In article <6274@duke.UUCP> rrt@duke.UUCP (Russell R. Tuck) writes: >This won't immediately help you, but SVR2 on the Unixpc (7300) has a tset. >Does that mean it will show up on the 3Bs in a future release? I don't know. Probably not. I've been pushing for some time for tset or an equivalent program to be put into System V, since I find the system nearly unusable without it. However, tset is an Eric Allman creation, hence it has an incredibly high comment/code ratio, and handles several different variants of UNIX, so it's long and nontrivial, and there are no high level people pushing for it, so the support folks didn't want to support anything that big and said no. It's in the 7300 because Convergent, not being AT&T, put it in. Nonetheless, there are several terminfo capabilities that are intended to be used by tset, such as the init strings. The current direction appears to be that the tabs(1) command is being enhanced to do much of what tset does in this respect. By the way, don't blame Eric for the current version of tset (which may vary depending on where you got your version), as David Wasley and I have done significant work on it at various times. My copy uses terminfo without using any of the emulation features - in particular, the -s option no longer needs to set the TERMCAP variable. Mark
hansen@pegasus.UUCP (Tony L. Hansen) (09/20/85)
< Back in the good(?) old days of System III and Version 7 there was a < terminal initialization program called 'tset'. Even though this is still < referenced in the 3B2 documentation in TERMINFO(4) I can find neither hide < nor hair of it. If anyone has implemented the equivalent function or knows < of one I would very much appreciate hearing about it. [I've cross-posted this to net.unix and net.unix-wizards because a similar question was posted in those newsgroups a couple of months ago and I never got around to replying to the question back then.] The tset program, created by Eric Allman at Berkeley, has several major functions: 1) determine the terminal type for setting $TERM, 2) initialize the terminal for screen-oriented programs, 3) initialize the carriage-return and newline delays in the tty driver, 4) set the erase/kill/interrupt characters, 5) initialize $TERMCAP, and, 6) reinitializing (resetting) the terminal. Number 5, setting $TERMCAP, is obviously not needed anymore with terminfo. Using the compiled terminfo entry is still faster than interpreting from the $TERMCAP variable. Number 4, setting ^H, etc., is handled just fine by stty. Personally I believe that number 1, setting $TERM, belongs in a separate program from the program that does numbers 2 and 3. A simple invocation of such a program, call it "getterm", would be: TERM=`getterm`; export TERM or setenv TERM `getterm` Of course, this program should do everything that tset used to do: looking in a database of hardwired lines and looking at your tty speed, then assuming or asking questions based on what it found. Number 2 is the most crucial step, terminal initialization. It is fairly easy to handle because of a tool provided with Unix System Vr2 called tput(1). My version of how to do terminal initialization follows. I call this shell "initterm". # initterm - initialize the terminal like tset used to do. eval `tput iprog` tput is1 tput is2 if [ -n "`tput ht`" ] then stty tabs; tabs -8 else stty -tabs fi cat -s "`tput if`" tput is3 Number 3, setting the carriage-return/newline delays, is non-trivial. If a program were written to do such a thing, it should be done after the above. Number 6, reset, could be done with very slight modifications to the above script, such as: RS1=`tput rs1` if [ -n "$RS1" ] then echo "$RS1" else tput is1 fi for each of the rs1/is1, rs2/is2, rs3/is3 and rf/if pairs. I hope that all of this helps. Tony Hansen ihnp4!pegasus!hansen
greg@ncr-sd.UUCP (Greg Noel) (09/24/85)
>< Back in the good(?) old days of System III and Version 7 there was a >< terminal initialization program called 'tset'. Even though this is still >< referenced in the 3B2 documentation in TERMINFO(4) I can find neither hide >< nor hair of it. If anyone has implemented the equivalent function or knows >< of one I would very much appreciate hearing about it. I've had this same complaint. The answer I've received has been that the "tabs" program is supposed to do terminal-specific initialization. Now, while there is a certain kind of sideways logic to using "tabs" that way, the problem is that "tabs" doesn't do it -- in fact, the version we have doesn't even know about curses/terminfo; it has wired-in knowledge about a few specific terminals and makes no attempt whatever to send out generic initialization strings, nor is it smart about baud rates or terminal padding. I don't care if the logic is in "tabs", "tset", or a totally new program; this information is readily available via terminfo and it should be usable somehow. Like the directory-reading routines, this is an area where AT&T has dropped the ball and probably needs some encouragement to get its act together. Maybe if we knew where we could send some nastygrams, we could inundate them with memos until they saw the light........ -- -- Greg Noel, NCR Rancho Bernardo Greg@ncr-sd.UUCP or Greg@nosc.ARPA