[comp.sys.apple2] Curses?

dmr2386@isc.rit.edu (D.M. Raynault ) (05/03/91)

    I've been programming all types of computers for a while now and I
haven't heard anything about what this 'curses' thing is untill recently
and then it started poping up where ever I look in source code.  A few notes
ago someone said that there was a version of it out for the apple iigs.

   First of all what is it?
   What does it do?
   And Where can I get it?

						David Raynault
						dmr2386@rit.edu

axi0349@isc.rit.edu (A.X. Ivasyuk ) (05/03/91)

In article <1991May2.182227.9742@isc.rit.edu> dmr2386@isc.rit.edu (D.M. Raynault ) writes:
>
>    I've been programming all types of computers for a while now and I
>haven't heard anything about what this 'curses' thing is untill recently
>and then it started poping up where ever I look in source code.  A few notes
>ago someone said that there was a version of it out for the apple iigs.
>
>   First of all what is it?
>   What does it do?
>   And Where can I get it?
>
>						David Raynault
>						dmr2386@rit.edu

  Curses is a screen control library package which originally started out
on unix systems, but migrated to PC's and other machines.  Curses provides
a standard interface for the programmer to access screens.  The reason this
was needed on unix systems is because of the large variety of terminals that
it is possible to hook up with.  Curses uses another library called termcap
to take care of these things on a large variety of terminals.
  I remember reading something about curses for the //gs, but don't know
much about that, since I have a //c myself.  The only context I've heard
curses being used in is a C programming environment.  I've used it myself
here at RIT for a project, and I found it very easy to use.  I got the
documentation for the library from some Sun manuals that I have access to.
  Since the //gs has only one way to access text on the (standard) text
screen, I would think there to be little use for a library such as curses,
especially because it imposes a lot of overhead on the system, but I
can understand there being such a library for portability reasons such as
porting programs from unix.

-Anatole



-- 
Anatoly Ivasyuk @ Computer Science House @ Rochester Institute of Technolgy
       (anatoly@ritcsh.csh.rit.edu) || (axi0349@ultb.isc.rit.edu)

gwyn@smoke.brl.mil (Doug Gwyn) (05/07/91)

In article <1991May2.212052.16181@isc.rit.edu> axi0349@isc.rit.edu (A.X. Ivasyuk ) writes:
>Curses uses another library called termcap
>to take care of these things on a large variety of terminals.

Actually, the official name for the termcap interface library is "termlib",
although for backward compatibility there is sometimes a link to libtermlib.a
called libtermcap.a.  "Termcap" is the name of the terminal capabilities data
base, which is a large text file containing encoded descriptions of terminals.

Termlib merely provides access to this data base.  Curses uses termlib to
simulate a model of a generic cursor-addressable interactive terminal, mapping
the generic operations to specific control sequences according to the termcap
description of the particular terminal being used.

gwyn@smoke.brl.mil (Doug Gwyn) (05/07/91)

In article <16072@smoke.brl.mil> gwyn@smoke.brl.mil (Doug Gwyn) writes:
>Actually, the official name for the termcap interface library is "termlib",

I forgot to mention that AT&T replaced the termcap data base with one called
"terminfo" that has several advantages; its curses library includes emulations
of the old termlib functions simply for backward compatibility.