curses standout()

P E Smee exspes at gdr.bath.ac.uk
Wed Jul 4 10:51:47 AEST 1990


In article <3610 at zorba.Tynan.COM> "raz(a" <uunet!NSFnet-Relay.AC.UK!raza%cs.heriot-watt.ac.uk> writes:
>the problem is that when i try and use the curses function standout(), it
>simply doesn't work! (this function is used with standend() to make text
>appear in reverse video).
>i am using a TELEVIDEO model 910+, 920c and 910g type terminal, the problem 
>is that the function DOES work with a vt100 type terminal.

The clue is that on a TVI9xxa the 'inverse video' and 'end inverse'
(termcap 'so' and 'se') eat a character position.  (sg != 0)  Many
versions of curses (for which read 'the 5 that I've tried on different
machines') will not use standout mode if sg is non-zero.  Not too
surprising as given the way normal curses works, having these extra
screen positions come and go would screw things up.

One possibility is to use some other (non-space-eating) mode, by
changing sg to 0 and so/se to point to strings which will put you
into/out of the mode.  Half-bright works OK on TVIs.  Except it may be
invisible if the terminal contrast is set wrong.

Failing that, you need to invent some other way of 'marking' things on
terminals where sg != 0.  Or, find/write a cleverer curses.
-- 
Paul Smee, Computing Service, University of Bristol, Bristol BS8 1UD, UK
 P.Smee at bristol.ac.uk - ..!uunet!ukc!bsmail!p.smee - Tel +44 272 303132



More information about the Comp.unix mailing list