Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Help with libcurses and lynx under NetBSD-9 and -current?



	hello Roy and Brett.  As usual in these cases, there was a bit of noise in the beginning
of this process while I figured out what was wrong and what I was doing wrong.  Here is my
current understanding of the situation:

1.  By default, terminfo reads the TERMCAP environment variable and produces an internal
representation of the terminal capabilities, which libcurses can parse and use.  that part
works fine.  

2.  Using the TERMCAP ENVIRONMENT works for most screen applications that use libcurses, except
for lynx, which, after correcting for some capability errors in the TERMCAP definition,
demonstrates the problem whereby cursor tracking doesn't work when select pop-up menus are in
use.

3.  The captoinfo program and the terminfo tree holding the terminfo definitions for libncurses
is incompatible with the captoinfo program in the base distribution, so if one wants to use
libncurses, one needs to have both a .terminfo directory in one's home directory, as well as a
.terminfo.cdb file in one's home directory, in order to store the translated capabilities for
each curses library.  This works because, as I discovered by accident, our libterminfo library
doesn't actually utilize the plain text .terminfo file it looks up even if it's in the
appropriate format.  In order for the libterminfo library to produce working terminal
description, suitable for consumption by libcurses, the one in our base distribution, it either
needs to read a .cdb file directly, or translate it on the fly from the TERMCAP environment
variable.  

4.  When lynx is linked against the libncurses library and all of the terminal capabilities are
properly presented to the libncurses library, it works fine, properly drawing the screen and
presenting the cursor during all operations.  this leads me to the conclusion that we do have a
problem in the native libcurses library, and I suspect it has something to do with the changes
to the getch.c file in the library, but I don't understand the internals of curses enough to be
very helpful in this regard.  If it helps, the same version of lynx, when linked against the
libcurses from NetBSD-5.2 works fine.

5.  As a further confusion, I tried using lynx inside of tmux under NetBSD-9.1, but I got
screen drawing errors.  This may have been  due to the terminal description issues I worked out
in 1 above, but I've not gone back to check again since I got lynx working with libncurses
under window(1).

	-thanks
-Brian



Home | Main Index | Thread Index | Old Index