From: Tony Bolger (d7v at domain indigo.ie)
Date: Wed 13 Oct 1999 - 20:17:55 IST
> On Wed, Oct 13, 1999 at 01:54:04PM +0100, Tony mentioned:
> > I need some advice on a Project idea I have.
> > The idea was to use X to create a virtual network Desktop.
> > You'd be able to drag X-apps from one monitor to the next and maybe
> > use one of the monitors to pan across the others. Anybody know how
> > possible/difficlut this is? Has it been done before?
emm, somebody doesn't trust me. :)
> Thing about it is, that most X server-side resources just have XID handles
> for the client program's to handle them with. An XID is an integer - if you
> want to do something to a window, you need to have it's XID, and the
> display it's on. The display contains all the network info, etc.
Its actually far easier to do than all that (Output side anyway). Create
a pseudo X server on :1.0 or whatever, and get it to proxy all requests
to the real servers. All it has to do is create a huge window on the
real X servers, and pretend that this is the real root window to all the
clients that connect. By positioning this fake virtual root within the
real root of each server, the server will be able to view any point on
the virtual root. Gives panning for free, just move the fake root within
the real X server, and magically all the clients which are contained
with it (i.e. All of them) will move too. To draw stuff, just pass on
all requests to the X servers. Certains event though will have to be
modified, as some of them have root coordinates in there. Same for some
Input though, that's a lot harder. You have to keep track of the rat as
it moves about, and enable the pointer only on the real X server(s) that
it is currently located on. And you have to fake all the input events
yourself (but then again, you are proxying for the X servers, so the
clients talk to you).
And by Xgrabbing the keyboard and mouse on the real server which
actually has intput devices, you can read all the events you need to
fake to the apps. Most real servers would be output only, with a single
set of input devices shared between them.
> Nasty. But how hard can it be ?
Output = a week for 95% functionality. Probably. Input = not sure, but
This archive was generated by hypermail 2.1.6 : Thu 06 Feb 2003 - 13:04:44 GMT