The code bases for the X multiplexers/proxies were actually Xmove, Xmx and XTV. Sorry about the confusion. I gave the wrong names. Xmx was developed at brown university. I had tried Xmove before and it works with 16 bit displays but apparently does not work with 24 bit displays. None of them are likely up to date to support Render, etc. The concept of being able to forward one window and its children to be displayed inside another window on another server is an interesting and versatile concept. The idea of these tends to be to keep the xclient connected to the same psuedo/middleman-Xserver, which then opens connections to destination X servers. The psuedo/middleman X server performs manipulations to keep the xclients or the destination xserver from knowing whats going on. The psuedo/middle-man server could be a real server as well, with a special driver for forwarding.<br>
<br><div class="gmail_quote">On Thu, May 26, 2011 at 2:29 PM, David Jackson <span dir="ltr"><<a href="mailto:djackson452@gmail.com">djackson452@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
The client wouldnt have to be moved between servers at all, it could be the same proxy server, the proxy server could then open up connections to actual X servers and forward things to the real X servers. The proxy would massage and rework data as necessary to trick the X client and hide the fact it is being displayed to many X servers and also keep the X servers in the dark about what is really going on as well. This requires no protocol changes and no changes to the clients or servers. There are already two or more codebases that this has already been done on, one is something called Xmux, the other was something called Xshare or something, and I am aware of a possible third that was called XTV. None are actively developed at this time. <br>
<div><div></div><div class="h5">
<br><div class="gmail_quote">On Thu, May 26, 2011 at 11:26 AM, Glynn Clements <span dir="ltr"><<a href="mailto:glynn@gclements.plus.com" target="_blank">glynn@gclements.plus.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><br>
David Jackson wrote:<br>
<br>
> I am know C, however I know little about X internals or X protocol. Is there<br>
> a good source of documentation that would give a person a full introduction<br>
> and overview of how the X server works,including how it all fits together,<br>
> and a tour of the system and documentation of the internals such as<br>
> functions, variables etc? Basically everything need for a person who only<br>
> knows C to learn all about how the X server works?<br>
<br>
</div>How a specific implementation works doesn't really matter, as that's<br>
something which can be changed. What can't be changed (without<br>
breaking compatibility) is the protocol.<br>
<br>
The relevant documentation can be found here:<br>
<br>
<a href="http://www.x.org/releases/X11R7.6/doc/" target="_blank">http://www.x.org/releases/X11R7.6/doc/</a><br>
<br>
The main thing to bear in mind is the client-server model. If you want<br>
to migrate a connection to a different X server, you either have to<br>
ensure that the new X server will behave exactly like the old one, or<br>
make the client adjust to the change. The former is somewhere between<br>
ridiculously difficult and completely impossible, while the latter<br>
requires significantly changing the protocol, libraries, toolkits, and<br>
applications.<br>
<font color="#888888"><br>
--<br>
</font><div><div></div><div>Glynn Clements <<a href="mailto:glynn@gclements.plus.com" target="_blank">glynn@gclements.plus.com</a>><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>