how do I tell the size of a pseudoterm window?

Doug Gwyn gwyn at smoke.BRL.MIL
Sun Dec 11 14:59:51 AEST 1988


In article <1107 at sdcc7.ucsd.EDU> muller at sdcc7.ucsd.EDU (Keith Muller) writes:
>As far as I know there are only three ways to create a layer:
>	1) with the mouse
>	2) with a host resident "agent" subroutine call
>	3) from a terminal resident  program

Correct.

Keith is pretty well informed about this stuff, so much of what I have
to say is for the benefit of those who don't know much about layers.

>None of these directly support the X client model where a client is on a
>remote host and can directly communicate to a X server (e.g. there is not
>a network version of the openchan() agent library function). It would not be
>too difficult to add a "netopenchan()" agent library function (at least to
>the 4.3BSD 630MTG software it can be done). I assume that this would be an
>attractive feature?

The X client model and layers aren't entirely conformable.  (That's
what started this discussion!)  Personally I think the hostagent
feature should work from any host that is being used in the window.

For a specific example, consider remote-host use of "sam":

	human user of DMD/MTG terminal
		|		^
 mouse/keyboard	| movements,	|
		| clicks,	|
		| dragging,	|
		| keystrokes	| bit-map display
		v		|
	samterm running in DMD/MTG layer with layersys RTOS support
		^
  terminal port	| special "sam" transaction record protocol
		v
	original "sam -r remote_host_name" process on layer host system,
	now acting just as a "wire".
		^
 net connection	| transparent rexec I/O streams
		v
	remote_host "sam -R" process (file editing server)

Now, "sam -R" doesn't manipulate windows using the hostagent feature,
but suppose it did.  The associated ioctls really should be sent to the
layer host system (this is one of the things streams are good for).
The layer host can take care of the layer manipulation, because it
knows how.  The remote system need know nothing about layers or xt.

You probably have quite a problem getting the Berkeley/Sun network stuff
to support this scheme.  It should be easy with current UNIX System V.

A workaround for use with existing puny network facilities is to have
the "sam -R" process communicate its needs to samterm and have samterm
communicate with the layer host to keep it apprised of its window
manipulations.  In fact that's pretty much how existing DMD/MTG software
does operate.  (The layer host is informed via the control channel on
the terminal port, by layersys.)



More information about the Comp.unix.wizards mailing list