Subject: Re: X cards - two heads?
To: None <port-i386@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: port-i386
Date: 12/22/1999 23:52:54
>>> [...dual-headed X server, screens .0 and .1...]
> I have done this on some other versions of Unix on the i386 [...]

> At least back then (again, IIRC ;-) you couldn't drag windows between
> displays or have windows straddle them.  Except on one server that I
> built that had one virtual screen on two identical cards giving a
> 3072x2048x1 display.

The inability you refer to is for X reasons; the protocol makes it
impossible for a window to exist on multiple screens (as would be
required for a window to straddle screens).  The client could in theory
maintain a window on each screen and position them (or more precisely
request that the window manager position them) so as to get a similar
visual effect, displaying on both as necessary, but that moves a whole
lot of goop into the application, goop that really doesn't belong there.

Dragging windows between displays requires that the client destroy (or
at least unmap) the "old" window and create a "new" window on the other
screen; it is not possible to reparent between screens (at least not
within the core protocol - ReparentWindow is defined to produce a Match
error if the old and new parents are on different screens).

If you really want this effect, it's a Whole Lot Easier to convince the
server to fake it than it is to try to do the necessary kludgery in the
clients.  (Of course, if you're not a programmer, neither one is
feasible, and if you're stuck with a binary-only server or client, the
a server- or client-side solution is equally infeasible.)

					der Mouse

			       mouse@rodents.montreal.qc.ca
		     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B