Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Mar 1995 09:33:13 +0400
From:      "Andrey A. Chernov, Black Mage" <ache@astral.msk.su>
To:        Bob Willcox <bob@obiwan.pmr.com>
Cc:        freebsd-current@freefall.cdrom.com
Subject:   Re: tgetnum wierdness on -current
Message-ID:  <bLPuaTlKE0@astral.msk.su>
In-Reply-To: <m0rt5LG-00030fC@obiwan.pmr.com>; from Bob Willcox at Sun, 26 Mar 1995 21:19:45 -0600 (CST)
References:  <m0rt5LG-00030fC@obiwan.pmr.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In message <m0rt5LG-00030fC@obiwan.pmr.com> Bob Willcox writes:

>Andrey A. Chernov, Black Mage wrote:
>> 
>> In message <m0rt26U-000300C@obiwan.pmr.com> Bob Willcox writes:
>> >Except that here my xterm termcap entry specifies line number as
>> >24, yet tgetnum("li") returns 65 when executed in a remote xterm,
>> >regardless of window size or termcap setting.
>> 
>> What do you mean by "executed in a remote xterm"?
>> As I understand, you need to check environment (TERM,TERMCAP)
>> and termcap file on _remote_ system...

>>From an xterm on one system (running FreeBSD 1.1.5.1) I am rlogining
>into another system (running FreeBSD -current built today).  The
>termcap file on the remote (-current) system looks ok and has a
>line count of 24 (li#24).  However, if I do a tgetnum("li") (or
>the tput li command) the output value is 65.  From a virtual console
>or xterm on the -current system I get the correct output from
>tgetnum("li").

Terminal entry can comes from various sources: /usr/share/misc/termcap
~/.termcap $TERMCAP f.e.
To be shure just use one of the tests coming from lib/termlib/TEST,
I think it is test1, compile it on -current with -ltermcap and
run it on remote xterm. It just print out
terminal entry, then seek li= there. If li=65, check various
sources mentioned above, if all of them says li=24, there can be
bug in tgetent, if all sources and output says li=24, there
is bug in tgetnum.

>The application in question is files-2.2p1 that I am trying to port
>to run on FreeBSD.  Whenever it receives a SIGWINCH signal it
>terminates the current window by calling endwin() then reinstates
>it by calling initscr().  It also calls wrefresh() for each of its
>logical windows plus a number of other initializations.

It is right method when window changes.
Please specify more detaily which ioctl failed in setterm().

>I can email you the file that handles all of this if you would like
>(its about 1000 lines).  I have had little experience with curses
>and can't really tell if what is being done is ligitmate or not.

I don't have enough time now...
-- 
Andrey A. Chernov        : And I rest so composedly,  /Now, in my bed,
ache@astral.msk.su       : That any beholder  /Might fancy me dead -
FidoNet: 2:5020/230.3    : Might start at beholding me,  /Thinking me dead.
RELCOM Team,FreeBSD Team :         E.A.Poe         From "For Annie" 1849



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bLPuaTlKE0>