[comp.unix.questions] curses: implementation x definition

lhf@aries5 (Luiz H. deFigueiredo) (08/04/89)

I have been working in porting MSDOS applications to Unix, using curses to
handle full-screen io.

Besides having to face several different (and not always totally compatible)
implementations, there seems to be some discrepancies between what is actually
implemented and what was meant to be, as in the original paper:

"Screen Updating and Cursor Movement Optimization: A Library Package"
 by Kenneth Arnold of Berkeley

Of these, the most strange (to me) is that overlay/overwrite work on the
physical overlap instead of aligning origins as defined by Arnold [:-(].

I am not sure whether this was changed on purpose, but the BSD source for
curses surely uses physical overlap (I got a copy from uunet.uu.net).

Moreover, AT&T's System V version seems to have kept this 'mistake'...

On the other hand, Pavel Curtis' ncurses and its descendent Bjorn Larsson's
PCcurses follow Arnold's definition.

Aligning origins seems to me to be the correct thing to do in order to keep
window as a useful abstraction. One should (almost) never have to worry
about the physical location of windows in the screens, and specially not 
about overlapping regions.

The corresponding 'notion' for files would have copy programs work on the
physical disk overlap...

Any ideas/suggestions/comments/whatever ?

Stories of ports using curses are welcome, too.


-----------------------------------------------------------------------------
Luiz Henrique de Figueiredo
Conmputer Systems Group
University of Waterloo

internet:	lhf@aries5.waterloo.edu
bitnet:		lhf@watcsg

(possible domains are waterloo.edu and uwaterloo.ca)
-----------------------------------------------------------------------------