Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA
Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!panda!talcott!harvard!seismo!brl-tgr!gwyn
From: gwyn@brl-tgr.ARPA (Doug Gwyn )
Newsgroups: net.micro.att
Subject: Re: 3B2 DMD layers software and curses
Message-ID: <11561@brl-tgr.ARPA>
Date: Sun, 14-Jul-85 04:41:05 EDT
Article-I.D.: brl-tgr.11561
Posted: Sun Jul 14 04:41:05 1985
Date-Received: Wed, 17-Jul-85 04:30:31 EDT
References: <536@gitpyr.UUCP>
Distribution: net
Organization: Ballistic Research Lab
Lines: 24

> I've been using a DMD terminal on a 3B2 for a couple of months now and I've
> always wondered how the layers system tells curses the size of the current
> window.  It doesn't modify /usr/lib/terminfo/d/dmd (it can't and still have
> the capability of having different size windows open), nor does it set the
> TERMINFO environment variable to point somewhere else.  Setting TERMINFO
> to point explicitly to /usr/lib/terminfo doesn't change anything.  It
> still magically know how large the window is.  The only way I can see it
> being done is to have the proper ioctls built in to the curses library
> (I don't have source, so I can't check this).  Does anyone know exactly
> how it's done?

There is an ioctl(2) code, JWINSIZE, that returns into a

	struct jwinsize
	{
		char	bytesx, bytesy;	/* Window size in characters */
		short	bitsx, bitsy;	/* Window size in bits */
	};

the appropriate information, which has been set up by layers/xt or mpx/pty.
Word is that libcurses has the code that does this #ifdef'ed out in the
source, but including  suffices to enable the feature (of
course, you have to rebuild libcurses and everything that uses it).
Apparently your system has this libcurses feature enabled.