ricker@bunker.UUCP (James A. Ricker) (04/29/86)
In curses.h there is a comment to the effect that 64 function keys are supported However, the structures in term.h only have members for 0-10 function keys. How are you handling this? Any ideas welcome. Thanks, Ricker
robt@molihp.UUCP (Robert L Thurlow) (05/03/86)
<> In article <1135@bunker.UUCP> ricker@bunker.UUCP (James A. Ricker) writes: >In curses.h there is a comment to the effect that 64 function keys are supported >However, the structures in term.h only have members for 0-10 function keys. >How are you handling this? Any ideas welcome. > When we upgraded to HP-UX 5.01, I saw this too, and I got excited. I must support terminals with SHIFT-able function keys, and my logic said to use terminfo f0-f15 for unshifted versions, f16-f31 for shifted versions, f32-f47 for keys with the control key, and f48-f63 for shift-control. Tek 4105's will even do all this, and all our decent terminals work with shift. The space IS EVEN RESERVED in the terminfo entry. The snag is that 'tic(1M)' will only stuff pointers for f0-f10 into the terminfo file, and 'tgetstr(3)' will only read f0-f9! This is irritating, since I can taste getting those keys legally. At present, I use the function key labels l0-l7 for actual strings returned by those shifted keys, which is not good, and I need my own routine to think about what keys have been pressed. I feel like I could write my own terminfo from scratch by now. Sigh. # UUCP : ...!ubc_vision!molihp!robt Robert Thurlow # # My thoughts are my own, and are void where prohibited by law. # # "There was something fishy aboout the butler. I think he was a # # Pisces, probably working for scale." -Nick Danger, 3rd Eye #
bet@ecsvax.UUCP (Bennett E. Todd III) (05/14/86)
In article <2774@pegasus.UUCP> hansen@pegasus.UUCP (60545457-Tony L. Hansen;LZ 3B-315;6243) writes: >... More to the point, when will Berkeley support terminfo? ... While I won't dispute the claim that terminfo is more expressive, I still find it to be a HUGE step backwards in design: there just isn't sufficient justification for making the active, working database a compiled binary file -- PARICULARLY when AT&T then doesn't include the sources to the terminfo descriptions. As shipped, the description for the DMD5620 is noticibly broken. To fix it, I'll have to completely rewrite the entire thing, since the readable (modifyable) version isn't available. Termcap isn't as expressive, perhaps, but I can write and modify termcap descriptions easily. Terminfo is a loser. Indeed, when I bring up full-screen applications (e.g. EMACSs) under System V, I use termcap. I have a public-domain rewrite of libtermcap, which a friend of mine wrote in response to AT&T's leaving it out of System V. Let us hope that Berkeley continues to support the better organized design, and doesn't attempt to corrupt BSD UNIXs too badly in the name of compatability. -Bennett -- Bennett Todd -- Duke Computation Center, Durham, NC 27706-7756; (919) 684-3695 UUCP: ...{decvax,seismo,philabs,ihnp4,akgua}!mcnc!ecsvax!duccpc!bet
keith@enmasse.UUCP (Keith Crews) (05/15/86)
In article <1553@ecsvax.UUCP> bet@ecsvax.UUCP (Bennett E. Todd III) writes: . . . >still find it to be a HUGE step backwards in design: there just isn't >sufficient justification for making the active, working database a >compiled binary file -- PARICULARLY when AT&T then doesn't include the >sources to the terminfo descriptions. As shipped, the description for >the DMD5620 is noticibly broken. To fix it, I'll have to completely >rewrite the entire thing, since the readable (modifyable) version isn't >available. The following was true for release 1 of system V - I do not know if it has since been improved. It turns out to not be hard (1-2 days) to write a program that takes the binary terminal description and turns it into ascii that can be editted and then recompiled using tic. There was a shell script that was printed in some Unix magazine a while back that did a similar thing. You will find that many (all?) of the terminfo descriptions distributed with system V are useless for using anything but vi. The automatic translator does an incomplete and often syntactically incorrect job. Even worse, tic does not flag many (any?) errors on input. So if you misspell a terminal capability, rather than being told that you have an error, it just quietly ignores that specification. After I wrote the above program it at least provided a method for determining what terminfo description you are really using and verifying that what you thought you specified actually got compiled into the database. (I'd post the program if I could but I can't.) Keith Crews
mac@tflop.UUCP (Mike Mc Namara) (05/16/86)
In article <1553@ecsvax.UUCP> bet@ecsvax.UUCP (Bennett E. Todd III) writes: >In article <2774@pegasus.UUCP> hansen@pegasus.UUCP (60545457-Tony L. Hansen;LZ 3B-315;6243) writes: >>... More to the point, when will Berkeley support terminfo? ... > >While I won't dispute the claim that terminfo is more expressive, I >still find it to be a HUGE step backwards in design: there just isn't >sufficient justification for making the active, working database a >compiled binary file -- PARICULARLY when AT&T then doesn't include the >sources to the terminfo descriptions. As shipped, the description for >the DMD5620 is noticibly broken. To fix it, I'll have to completely >rewrite the entire thing, since the readable (modifyable) version isn't >available. Termcap isn't as expressive, perhaps, but I can write and >modify termcap descriptions easily. Terminfo is a loser. Indeed, when I >bring up full-screen applications (e.g. EMACSs) under System V, I use >termcap. I have a public-domain rewrite of libtermcap, which a friend >of mine wrote in response to AT&T's leaving it out of System V. Let us >hope that Berkeley continues to support the better organized design, and >doesn't attempt to corrupt BSD UNIXs too badly in the name of >compatability. > >-Bennett >-- > >Bennett Todd -- Duke Computation Center, Durham, NC 27706-7756; (919) 684-3695 >UUCP: ...{decvax,seismo,philabs,ihnp4,akgua}!mcnc!ecsvax!duccpc!bet Ok, ready or not: Mark Horton, of ATT (just before he joined ATT), and Pavel Curtis, of Cornell, wrote a public domain package called terminfo, which came out, I believe, before AT&T's version. This system included ncurses, which was a much improved version of curses. It also included vi(1) setup to use said ncurses. It also included dump(1), an unfortuate overloading of the term, which would uncompile terminfo library entries. As I don't have access to SYS5, I can't see if this works on those said libraries. I also have a program which reads in termcaps and writes out terminfo input files. Any and all of this is in the public domain, and available from me via return request. I include the man page for dump: DUMP(1) UNIX Programmer's Manual DUMP(1) NAME dump - Print the contents of a compiled terminfo file in human-readable form SYNOPSIS /etc/term/dump file ... DESCRIPTION Dump reads the given files and decodes their contents to ---- derive a reasonable representation of the terminfo entry which produced the file originally. It should be noted, in case of emergency, that the output of dump is perfectly ---- usable as the input to compile(1). ------- SEE ALSO compile(1), term(5), terminfo(5) AUTHOR Pavel Curtis, Cornell University (decvax!cornell!pavel or Pavel.Cornell@Udel-Relay) BUGS You tell me. -- ---------------------------------+-------------------------------------------- | Michael Mc Namara | Let the words by yours, I'm done with mine. | UUCP: dual!vecpyr!tflop!mac | May your life proceed by its own design. | ARPA: tflop!mac@ames.arpa | ---------------------------------+--------------------------------------------
parmelee@bullwinkle.cs.cornell.edu (Larry Parmelee) (05/16/86)
In article <1553@ecsvax.UUCP> bet@ecsvax.UUCP (Bennett E. Todd III) writes: > -- PARICULARLY when AT&T then doesn't include the >sources to the terminfo descriptions. As shipped, the description for >the DMD5620 is noticibly broken. Yeah, I just got done fixing that myself. Inspires all sorts of confidence, etc... I've posted my fixed terminfo source for the DMD to net.sources, Message-Id: <2225@bullwinkle.cs.cornell.edu> and a cute little shell script for un-compiling terminfo entries. Help yourself. -Larry Parmelee parmelee@systems.cs.cornell.edu
fnf@unisoft.UUCP (Fred Fish) (05/17/86)
In article <233@tflop.UUCP> mac@tflop.UUCP (Mike Mc Namara) writes: > to use said ncurses. It also included dump(1), an unfortuate > overloading of the term, which would uncompile terminfo library > entries. As I don't have access to SYS5, I can't see if this AARRRRGGGGGG!!!! One of the utilities in the "generic" 68000 Unix system V port done by Motorola is a program called... you guessed it.... dump! This one "dumps" Common Object Format Files (COFF) in human readable format... -Fred =========================================================================== Fred Fish UniSoft Systems Inc, 739 Allston Way, Berkeley, CA 94710 USA {ucbvax,lll-lcc}!unisoft!fnf (415) 644 1230 TWX 11 910 366-2145 ===========================================================================
mark@cbosgd.UUCP (Mark Horton) (05/18/86)
In article <2774@pegasus.UUCP> hansen@pegasus.UUCP (Tony L. Hansen) writes: >... More to the point, when will Berkeley support terminfo? ... The real question here is, when will AT&T let Berkeley use terminfo and the rest of System V. There are apparently some amazing legal discussions going on. Berkeley has been interested in terminfo since 1982, but they just haven't been able to include it without either requiring a System V license or getting sued. There turned out to be a lot of problems with requiring their users to get a System V license. In article <1553@ecsvax.UUCP> bet@ecsvax.UUCP (Bennett E. Todd III) writes: >While I won't dispute the claim that terminfo is more expressive, I >still find it to be a HUGE step backwards in design: Everyone is entitled to their opinion, of course, but I think Mr. Todd is primarily annoyed because he has managed to get a binary-only system. I can understand his frustration at trying to use a UNIX without sources, and not just with terminfo. If he had source, he could look in /usr/src/lib/libcurses/terminfo for the sources. As to the problems with the 5620 description, it turns out that the version of curses/terminfo in System V Release 2 was frozen in April 1983, and I think the 5620 was just coming out at the time. There may be differences between the version of 5620 ROMs you have and the terminfo that happened to come with your system. It's easy enough to fix, with or without source, in release 3 using infocmp (an amazing program, which slices, dices, diffs binaries, uncompiles, and translates between termcap and terminfo.) To set the record straight, the public domain terminfo curses that Pavel Curtis wrote was written entirely by him. I was not involved in it at Berkeley or at Bell Labs. I did, however, write the System V release 2 version. (The release 3 version had input from me, but several others did most of the work, making major enhancements.) By the way, the person who rewrote libtermcap to have one for the public domain wasted their effort - the original implementation, from Berkeley, has always been public domain. The complaint that tic doesn't find syntax errors in terminfo descriptions is amusing, especially when it appears to be used as the basis for an argument that termcap is better than terminfo. Either syntax would permit an error checking implementation, although I don't know if you'd want the syntax checked every time vi started up :-) The SVr2 tic was just a modified version of the termcap file reading code, which also doesn't notice syntax errors. The SVr3 tic is completely redone (it's based on Pavel Curtis's tic) and is fairly fussy about syntax errors. It's also more complete, uses the existing binary database, and is much faster. I think when comparing termcap to terminfo, the real differences are: (1) terminfo has more capabilities, although most of these can be ported back to termcap without too much trouble. (2) terminfo can do some things termcap can't, e.g. tparm is fundamentally more powerful than tgoto. (3) terminfo does more at compile time, so it's better for a production environment. (4) termcap is more like an interpreter, so it's a bit more convenient for a development environment. (5) it's easier to dynamically construct a termcap description and put it in the environment than a terminfo. This happens to matter for one telnet-like program at MIT that emulates the subset of a standard terminal whose functiona match the hardware you have. It would also matter for a window manager (where the window size can vary) if it weren't for features designed to let you override the lines/columns capabilities. Mark Horton
mark@cbosgd.UUCP (Mark Horton) (05/18/86)
In order to compare the difference between termcap and terminfo with something we are all more familiar with, I'm paraphrasing Mr. Todd's posting, substuting a different example. Let's compare C (a compiled language) with shell (an interpreted language) and observe that binary versions of UNIX still have readable (and editable) shell scripts. >While I won't dispute the claim that C is more expressive, I >still find it to be a HUGE step backwards in design: there just isn't >sufficient justification for making the active, working program a >compiled binary file -- PARICULARLY when AT&T then doesn't include the >sources to the C programs. As shipped, the description for >the xyztool is noticibly broken. To fix it, I'll have to completely >rewrite the entire thing, since the readable (modifyable) version isn't >available. The shell isn't as expressive, perhaps, but I can write and >modify shell descriptions easily. C is a loser. Let us >hope that Berkeley continues to support the better organized design, and >doesn't attempt to corrupt BSD UNIXs too badly in the name of >compatability.
H_Eidnes%vax.runit.unit.uninett@nta-vax.arpa (H}vard Eidnes) (05/20/86)
>> 4) I didn't notice it in the description, has anyone standardized means >> of drawing boxes in both berkley and system V? (I don't mean drawing >> random lines, but replacing building boxes out of |, +, and - chars. In response to this, Tony L. Hansen writes: > One of the terminfo strings is named acs_chars (a.k.a terminfo "acsc" or > termcap "ac"). It has defined within it what the alternate line drawing > character set is for that terminal. With those characters and the > enter/exit_acs_mode strings, very nice boxes and other graphics may be > drawn. > [ goes on to describe how this is done ] I think the method to describe line-drawing capabilities is far too Vt100-specific. Not all terminals use "shift-in" and "shift-out" to switch between character sets. For instance, the terminal I currently use, has only a "single-shift" command (ESC N), valid for the next character only to select character sets. I once tried to define this terminal using an "extended" termcap, using this method for selection of character sets. First, I had to define the shift-in and shift-out sequences to be non-null (the termcap package refused to use semi-graphics otherwise), so I set these up to send padding characters only to the terminal. Next, I defined each of the entries for the line-drawing capabilities to include the single-shift sequence, but alas, the termcap package assumed that only a single character would be needed... So I had to revert to using +, - and ! (remember, I'm from Scandinavia, and "|" is "reserved for national extensions"...). What I would like, is to have a more general way to define semi-graphics, that allowed non-vt100-lookalikes to be defined also. As for terminfo vs. termcap, I think terminfo is superiour in generality (because of the "programmable" parameter setting). But then again, termcap is general enough to describe most terminals...
bet@ecsvax.UUCP (Bennett E. Todd III) (05/21/86)
In article <2146@cbosgd.UUCP> mark@cbosgd.UUCP writes: >In order to compare the difference between termcap and terminfo with >something we are all more familiar with, I'm paraphrasing Mr. Todd's >posting, substuting a different example. Let's compare C (a compiled >language) with shell (an interpreted language) and observe that binary >versions of UNIX still have readable (and editable) shell scripts. (followed by my complaints about terminfo, with the described substitutions) Not bad! Made me think for a bit. However, as you say, "binary versions of UNIX still have [...] shell scripts." Quite true. There are good reasons why shell scripts are better suited to some applications than C programs, and vice versa. Shell scripts are readily customizable; they take less space; shell scripts are the appropriate language when all that is desired is some straightforward combination of existing tools. Compiled C programs are better suited to some applications. They generally run much faster; they have ready access to all the system calls; and C is a better language for expressing complex data structures (and, to a lesser degree, algorithms). However, the analogy isn't exact. Specifically, there is a tradeoff that must be addressed whenever one is deciding on a database organization: will you use a compiled (packed) binary representation, saving time when reading the database, or will you use a straight (ideally reasonably free-form) textual format, preserving the usefulness of the large assortment of UNIX tools which assist in manipulating files of textual data? The case of terminal descriptions seems like a middle ground -- people have different views. Termcap has the benefits of a readble database format. Terminfo is faster in the worst case. How often do you access every term[(cap)|info)] description? Not in the lifetime of most UNIX systems, I'd imagine. A termcap database sorted approximately in decreasing order of frequency of use should be at least as fast as the repeated directory lookups required to descend the terminfo tree -- and termcap format is *trivial* to parse. Quite a few people have suggested I look up the infocmp utility and go away. Probably, if I had one, I'd never have been so preturbed about the intrinsic loss of flexibility that comes with a binary representation to have posted a gripe to the net. However, AT&T has shipped far too many UNIX's (including all the System V's I've gotten a crack at) *without* infocmp for that to be terribly persuasive. If speed is what you want, sort /etc/termcap in decreasing order of frequency of use. If that's not good enough for you, cram your termcap definition in the environment variable TERMCAP and leave terminfo behind entirely, when it comes to speed. If you are out to obstruct people trying to do new and interesting things, then by all means take every step available to encode any datafiles in the most intractable fashion available -- and don't try to sell me your product. As I said, terminfo is more expressive than termcap; that, however, is unrelated to the compilation of the terminfo descriptions, and isn't anything that couldn't be added to termcap. Hell, I am not wedded to /etc/termcap format inextricably; if we had /etc/terminfo with the source forms of terminfo descriptions, and if that's what the terminfo library worked from, then I'd have no serious complaints (except for the gratuitous incompatability of formats, which might be justifiable given how much nicer terminfo's is). But encoding the source description in a binary format buys you nothing that cannot be gotten in less obstructive ways. -Bennett -- Bennett Todd -- Duke Computation Center, Durham, NC 27706-7756; (919) 684-3695 UUCP: ...{decvax,seismo,philabs,ihnp4,akgua}!mcnc!ecsvax!duccpc!bet
bet@ecsvax.UUCP (Bennett E. Todd III) (05/21/86)
P.S. I made passing reference to the applicability of standard UNIX text manipulation tools to readable textual databases, without giving a specific example. I type % grep <terminal-type> /etc/termcap to find out what to set TERM to pretty often. Just for instance. -Bennett -- Bennett Todd -- Duke Computation Center, Durham, NC 27706-7756; (919) 684-3695 UUCP: ...{decvax,seismo,philabs,ihnp4,akgua}!mcnc!ecsvax!duccpc!bet
mellon@mit-prep.ARPA (Ted Lemonmellon/.name) (05/21/86)
> Everyone is entitled to their opinion, of course, but I think Mr. Todd is > primarily annoyed because he has managed to get a binary-only system. I > can understand his frustration at trying to use a UNIX without sources, > and not just with terminfo. If he had source, he could look in > /usr/src/lib/libcurses/terminfo for the sources. Considering the *huge* cost of a source license for UNIX, if you don't happen to be an educational institution, this statement is ridiculous. In order for UNIX to be useful, it either has to come with source code for a reasonable price (my preference), or it has to *work right*! _MelloN_ P.S. (Pure Sacrilege) I don't think UNIX is particularly useful. -- Ted Lemon Project GNU of the Free Software Foundation UUCP: {}!mit-eddie!mit-prep!mellon INTERNET: mellon@prep.ai.mit.edu ORGANIZATION: Project GNU, Free Software Foundation, 1000 Mass. Ave., Cambridge, MA 02138, USA +1 (617) 876-3296 HOME: 18 Kennedy Drive, North Chelmsford, Massachusetts
mark@cbosgd.UUCP (Mark Horton) (05/27/86)
In article <1596@ecsvax.UUCP> bet@ecsvax.UUCP (Bennett E. Todd III) writes: >The case of terminal descriptions seems like a middle ground -- people >have different views. Termcap has the benefits of a readble database >format. Terminfo is faster in the worst case. How often do you access >every term[(cap)|info)] description? Not in the lifetime of most UNIX >systems, I'd imagine. It's quite true that the analogy isn't exact. In particular, there are gobs of applications where shell is more appropriate than C. From my experience, I have run across only a single application where termcap is more appropriate than terminfo. By the way, I stated earlier that termcap was more convenient for a development environment. What I meant was an environment where termcap or terminfo descriptions are being developed. If you're developing something else, then you have a production environment as far as termcap/terminfo is concerned. >A termcap database sorted approximately in >decreasing order of frequency of use should be at least as fast as the >repeated directory lookups required to descend the terminfo tree -- and >termcap format is *trivial* to parse. > >If speed is what you want, sort /etc/termcap in decreasing order of >frequency of use. If that's not good enough for you, cram your termcap >definition in the environment variable TERMCAP and leave terminfo behind >entirely, when it comes to speed. I used to think this too. I was at Berkeley when we decided how to sort termcap files and put them into the environment. It helped a lot. But it turns out that even if you put a termcap in your environment, it's still too slow. The termcap algorithm for reading the entry into a set of capabilities is QUADRATIC on the size of the entry. This is the nature of the beast - because of tc=, you have to start from the left for each capability search. As termcap descriptions got longer, starting up vi grew slower and slower. It was taking 1/4 second of CPU time on a VAX 750 to parse the termcap entry, even when it came out of the environment. This was when I decided to move to a compiled format. Things get much simpler for the typical user - no need for the whole entry in the environment anymore, or the hair of tset -s in the .profile/.login. The ps command was breaking from the huge environment entries that took the arguments off the top page of memory. Forks were expensive. And it took too long to start up vi. All these problems went away when terminfo was compiled. Termcap format is trivial to parse, IF you are willing to put up with some of the disadvantages of interpreters, such as no error messages, slow speed, and the size of the parser. If you wanted to get good error messages, termcap would be as hard to parse as terminfo. (For those who are not impressed with tic's error messages, the SVr2 tic, which was frozen for SVr2 in April 1983 along with the rest of curses, is essentially the termcap parser. The SVr3 tic is completely redone, by Pavel Curtis, and it's as fussy as pcc.) And I'm sorry you can't get SVr3 yet, and that in the meantime you're all using 3 year old code. We don't control the release dates, and curses hasn't been what's holding up SVr3. You might look to see if you got the "ti4" program with SVr2, which dumps out a terminfo binary, although not in tic-readable form. I think it was in the source dir but not normally installed. It's the only tool we had for printing out the binaries back in 1983. Mark
bzs@bu-cs.UUCP (Barry Shein) (05/29/86)
Now you have me really confused. Ok, I believe that compiled terminfo entries are much faster than termcap entries (of course, this goes against the grain of current technological trends, on a 750 with 20 users, sure, bring it on!, on a SUN/3 workstation? who cares. ok, it was written when a 750 was still "a thing".) But there's more going on. Why couldn't I create a compiled format for termcap? Sounds like around, oh, a full day's work or so, use DBM for the basic lookup and read in a pre-parsed, sorted/hashed table. I could then just rebuild that whenever my termcap file changed. Could even compile things like cursor motion into a faster format (or am I missing a difficulty here, surely I could gain most of the speed back.) Obviously there has to be something else here than raw speed. I've never looked at terminfo much tho I have it on one of the machines here. Why is this discussion centering around speed so much? Is that the only issue? (particularly, speed of start up, I know CCA Emacs claimed that with terminfo screen updates were around the same as custom C screen handlers, parsing is long over by then.) -Barry Shein, Boston University
mark@cbosgd.UUCP (Mark Horton) (05/31/86)
Why not compile termcap? Well, if you did compile termcap, you'd probably come up with something essentially the same as terminfo. The padding and parameters would be different, but otherwise it would be very close. (Time to interpret tparm strings is not really an issue.) You ask why a 750 should matter now. What about all those folks out there with IBM PC's, 1/4 of a 750? What about all the Sun 2's, which are 1 750? What about the 3B2/300, and the varous 68K boxes and 68010 boxes, and NSC boxes? They all tend to be in the 750 performance range. I can assure you that a difference of half a second or so of real time to start up vi makes a big difference in perceived response. Also, that was 1/4 second of CPU time on a 750 with a 1982 termcap description. The descriptions are getting longer, as more function keys and other capabilities are added. "Quadratic" gets worse real quick as things get bigger. (Oh, by the way, cbosgd is still a 750, and with no way from DEC to upgrade it, it will likely always be a 750.) Yes, there are some differences and incompatibilities. Termcap was running out of room for expansion. With only two chars for capability names, the names being chosen were no longer mnemonic. The padding conventions (leading digits) were unable to describe some things that needed description, such as visible bell, resulting in various kludges that didn't work well (inserting a fixed number of pad characters, guessing at the baud rate.) But the real killer was that tgoto had room for only two parameters, and the parameters were backwards. There was no way to handle complex terminals that needed tests and arithmetic. There was no way to handle features like combined attributes, or windows, because these capabilities needed more than two parameters. Finally, there was the expectation on my part that I would be able to take the resulting terminfo, give it back to Berkeley, and it would naturally take the place of termcap. I expected termcap to be dead within a year or so. This was in 1982, when AT&T wasn't so gung-ho about proprietary software, or so intent on pushing System V as a standard. It has since turned out that Berkeley can't include it without requiring a System V license, which they were unable to do for unrelated reasons. And there are enough places out there running derivitives of ancient versions of UNIX (including Xenix, for example) that just get termcap by default. Since I thought termcap would be dead quickly, I didn't worry as much about compatibility as I should have. This is unfortunate, and with 20/20 hindsight, we all realize what we could have done differently. As it stands, terminfo does have the distinction of being designed strictly on "best technical" grounds, with no compromises for compatibility. Once the licensing issues are taken care of, and once SVr3 is widely available (with the infocmp utility) these pains will be greatly eased. If I had my way, I'd just post it to mod.sources, but of course, I'd quickly be looking up the wrong end of a lawsuit, not to mention an unemployment line. Mark
rab@smu (06/02/86)
in my opinion, this is boiling down to the age-old war between the unixes. i personally find the improvements embodied in terminfo (both speed and syntax) pleasing from a system management perspective. termcap has become so incredibly cluttered that there are definitions with capabilities for which i am really not sure what they do -- and they are NOT documented in anything i have. the one true valor that terminfo has is its organization and clarity. in the realm of speed, there really does seem to be this need. with the advent of more and more smaller machines taking on more and more applications in the business world, the idea of terminfo is probably sound. hope i am not starting another chapter to this discussion. rick barrett convex!smu!rab
ignatz@aicchi.UUCP (Ihnat) (06/11/86)
Actually, Mark, some time ago a public domain version of terminfo was posted--in fact, I think it was to mod.sources, although I'd have to go unpack my archived copy to make sure. I got it running on an Altos running Xenix 3.0b (and later, 3.1a), so I'm sure it'll work on just about anything. (disgruntled :-)) The only real complaint I had was that the entry maintenance isn't as nice as the real 'tic', but that's a trivial rewrite; and, certainly, there are new, different, and surely better bugs that my simple validation testing didn't find. But it's certainly a good, working base that (author willing) the Berkley types could incorporate. I'm finding that it's utterly invaluable, as so many programs are being written now for *only* terminfo. -- Dave Ihnat Analysts International Corporation (312) 882-4673 ihnp4!aicchi!ignatz || ihnp4!homebru!ignatz
allbery@ncoast.UUCP (Brandon Allbery) (07/31/86)
Expires: Quoted from <2604@brl-smoke.ARPA> ["Termcap, terminfo, and curses."], by SLG6M%USU.BITNET@WISCVM.WISC.EDU... +--------------- | > Read TERM(4) and rewrite using terminfo. You won't be sorry; terminfo is much | > cleaner than termcap. | | You *can't* "rewrite using terminfo." Because terminfo is just a DATABASE. | The routines in question are called curses (which, by the way, also exist | on non-AT&T systems like BSD). +--------------- But (take my word for it) a program written to use termcap is a royal pain in the a** to convert to curses. ``Terminfo'' is the name of a database, yes, but it's also commonly used as the name for the low-level routines used to access the terminfo database. They are, however, accessed via -lcurses. Still, the low-level routines never heard of windows, etc.; and while curses can't use a terminal's status line, the low-level terminfo routines are able to use the "tsl", "fsl", "dsl", and "eslok" attributes. Amongst others. ++Brandon -- ---------------- /--/ Brandon S. Allbery UUCP: decvax!cwruecmp! / / /|\/ Tridelta Industries, Inc. ncoast!tdi2!brandon ---- -------- /-++ 7350 Corporate Blvd. PHONE: +1 216 974 9210 / / /---, ---- Mentor, Ohio 44060 SYSOP: UNaXcess/ncoast / / / / / / -- HOME -- (216) 781-6201 24 hrs. / / / / / / 6615 Center St. Apt. A1-105 ARPA: ncoast!allbery% ---- -----~ ---- Mentor, Ohio 44060-4101 case.CSNET@csnet-relay