[comp.unix.wizards] curses -- write to lower right corner

chr@sws4 (12/08/89)

CURSES, the old buggy program.

I'm not able to write to the lower
right corner of a vt100 terminal using curses. 
Curses doesn't produce any output to this
location. Can I disable this feature, or 
is there any trick (changing something
in terminfo..)

I was told, there was already a net-discussion
about that problem. I'm sorry that I must
bring up this theme again.

Thanx in advance.


Chris Siebert,  Germany -- Munich -- (Bavaria)
Net-address: chr@sws4.PCS.COM

scott@bbxsda.UUCP (Scott Amspoker) (12/09/89)

In article <1153@pcsbst.UUCP> chr@sws4 writes:
>
>CURSES, the old buggy program.
>
>I'm not able to write to the lower
>right corner of a vt100 terminal using curses. 
>Curses doesn't produce any output to this
>location. Can I disable this feature, or 
>is there any trick (changing something
>in terminfo..)

This is probably because CURSES thinks that the display will scroll
if it printed in the lower right corner.  If in fact it *is* possible
to print in the lower right corner without scrolling the screen then
you will need to tell CURSES through your terminfo entry.  (Since I
normally use termcap I don't know the terminfo parameter name off hand).

-- 
Scott Amspoker
Basis International, Albuquerque, NM
(505) 345-5232
unmvax.cs.unm.edu!bbx!bbxsda!scott

gwyn@smoke.BRL.MIL (Doug Gwyn) (12/09/89)

In article <1153@pcsbst.UUCP> chr@sws4 writes:
>I'm not able to write to the lower
>right corner of a vt100 terminal using curses. 

Curses cannot write on the lower right corner of any
terminal whose description advertises the "am" capability,
for obvious reasons.  However, the real problem is that your
VT100 termcap or terminfo description is incorrect.  VT100s
do not have a true "am" capability.  You should fix the VT100
description.

Here is my current VT100 termcap entry.  Use the usual tools
to convert it to terminfo.

#
# DEC VT100 with variations for Advanced Video Option and screen width.
# The following SET-UP modes are assumed for normal operation:
#	ANSI_MODE	AUTO_XON/XOFF_ON	NEWLINE_OFF	80_COLUMNS
#	WRAP_AROUND_ON
# Other SET-UP modes may be set for operator convenience or communication
# requirements; I recommend
#	SMOOTH_SCROLL	AUTOREPEAT_ON	BLOCK_CURSOR	MARGIN_BELL_OFF
#	SHIFTED_3_#
# Unless you have a graphics add-on such as Digital Engineering's VT640
# (and even then, whenever it can be arranged!) you should set
#	INTERLACE_OFF
# Hardware tabs are assumed to be set every 8 columns; they can be set up
# by the "reset", "tset", or "tabs" utilities (use vt100-x, 132 columns, for
# this).  I have included some compatible code in "rs" for the VT640 if you
# have one.  No delays are specified; use "stty ixon -ixany" to enable DC3/DC1
# flow control!
# Thanks to elsie!ado (Arthur David Olson) for numerous improvements.
d0|vt100|DEC VT100 with AVO:\
	:ae=^O:as=^N:bl=^G:cd=\E[J:ce=\E[K:cm=\E[%i%d;%dH:co#80:cr=^M:\
	:cs=\E[%i%d;%dr:ct=\E[3g:DO=\E[%dB:do=^J:ho=\E[H:is=\E<\E)0:it#8:\
	:k0=\EOP:k1=\EOQ:k2=\EOR:k3=\EOS:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\
	:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l0=PF1:l1=PF2:l2=PF3:l3=PF4:LE=\E[%dD:\
	:le=^H:li#24:ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:ms:nd=\E[C:\
	:nw=\EE:rc=\E8:RI=\E[%dC:\
	:rs=^X\E<\E2\E[?9h^]\E^L^X\E[20l\E[?3;9;6l\E[r\E[m\E[q\E(B^O\E)0\E>:\
	:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ti=\E[?7l:\
	:te=150\E[?7h:ue=\E[m:UP=\E[%dA:up=\EM:us=\E[4m:vt#3:xo:\
	:cl=\E[H\E[J:\
	:bs:kn#4:pt:
dv|vt100-v|DEC VT100 without AVO:\
	:ue@:us@:\
	:tc=vt100:
d8|vt100-w|DEC VT100 with AVO in 132-column mode:\
	:co#132:ct=\E[?3h\E[g:\
	:rs=^X\E<\E2\E[?9h^]\E^L^X\E[20l\E[?9;6l\E[?3h\
\E[r\E[m\E[q\E(B^O\E)0\E>:\
	:tc=vt100:
d9|vt100-x|DEC VT100 without AVO in 132-column mode:\
	:ct=\E[?3h\E[g:li#14:ll=\E[14H:ue@:us@:\
	:tc=vt100-w:

ajm@icc.com (Al Marmora) (12/11/89)

In article <11780@smoke.BRL.MIL> gwyn@brl.arpa (Doug Gwyn) writes:
>In article <1153@pcsbst.UUCP> chr@sws4 writes:
>>I'm not able to write to the lower
>>right corner of a vt100 terminal using curses. 
>
>Curses cannot write on the lower right corner of any
>terminal whose description advertises the "am" capability,

Unless, of course, you have System V/386 Release 3.2 curses and your
terminal supports inserting by character.

This curses will write the character destined for the lower-right-hand
corner (LRHC) in the second-to-last column, insert a character (moving
the character just written into the LRHC), and then re-write the character
in the second-to-last column.