Wed Jun 4 21:15:01 2003
I am replying to the list so others can join in...
At 03:43 PM 6/4/2003 , Russ Lewis wrote:
>Benjamin Watkins wrote:
>>At 01:23 PM 6/4/2003 , Russ Lewis wrote:
>>>Problem: I love VNC, but I want the various windows of my VNC viewer
>>>session to be in the Alt-Tab order of my machine. That is, I want to be
>>>able to Alt-Tab through the windows on the remote session, intermixed
>>>with the windows of my host session.
>>>Idea: If the vncserver didn't define a full desktop, but instead kept
>>>track of each window individually, I guess that the viewer would then be
>>>able to display each window as a window on the host system. I'm not an
>>>X expert (maybe there are reasons why this can't work), but it seems
>>>generally like it might work.
>>>Is there any utility that does something like this? Or any comments on
>>>whether or not it is possible?
>>I gather from your terminology that you are running VNC Viewer on a
>>Windows platform and Xvnc on a Unix-type platform. If this is the case,
>>it sounds like what you are looking for is an X-Server for Windows (or
>>whatever the viewing platform is). There are several ones available for
>>Windows, both free (including libre) and commercial.
>That is a typical setup for me, but so is Linux-viewing-Linux. I am aware
>of Windows X Servers (I've used both Cygwin and Exceed), but I want the
>applications I run to be usable simultaneously from multiple computers AND
>to be persistent when I close the viewer. So I need vnc, not a plain X server.
It sounds like VNC may be the only way to accomplish this...
>Essentially, what I'm thinking of is something like the "multiwindow"
>option that both Cygwin and Exceed have; each X window is a different
>window in the host OS. But I want vnc multi-view and persistence as well.
I think the only limit to this will be that you will lose the ability to
dynamically resize windows, due to the RFB protocol. Others can correct me
if the RFB protocol does allow for desktop size changes. I know current
implementations of RealVNC do not allow this, at least on the server side.
>My current setup is:
>* Linux at work, viewing
>* localhost:1, (which I also view from a Windows box here), viewing
>* my personal Linux PC at home, on which I use Mozilla (this email is
>being written in that viewer), viewing
>* my Linux server at home, which contains some utility applications I look
>at from time to time
>Basically, I'd like each step to be a multi-window server. So when I log
>in to view localhost:1, I want to have many many windows show up in my
>taskbar. For example, my current window might show up on my taskbar as:
>"vnc(localhost:1) vnc(personalComputer:1) Compose: Re: Window-per-window VNC"
This would certainly require a rewrite of VNC, and most likely some
"extensions" to the RFB protocol.
>>Otherwise if your server platform is not running Xvnc, I do not believe
>>this is practical with VNC. VNC would not be able to grab the image of
>>an application that is "behind" other Application windows; at best it
>>could send a portion of the screen. Another limitation of the RFB
>>protocol (as I understand it) is that it can not change the size of the
>>desktop dynamically, meaning even if you could share a single application
>>you would not be able to resize that window as you can other application
>How do multi-window X servers do this? Don't they have many of the same
>problems as this idea?
Multi-window X-Servers allow the viewing and manipulation of individual
windows by default. This includes the ability to position and resize
windows from both the server side and the client side. As I understand it,
the RFB protocol was designed to carry an entire display (a virtual Frame
Buffer) over a network. I believe one of the assumptions it makes is that
the dimensions of the session are static throughout the session. While it
is possible to write applications that use the RFB protocol exclusively for
I/O, the session is still treated as a statically defined frame buffer.
You may be able to get away with dedicating a display for each application,
running without a Window Manager. If the application was opened (via a
geometry switch) to fill the entire VNC display, this could achieve similar
results to what you need. Again, it would not be resizable (I believe) and
it would not necessarily be named as you describe (though you could
configure the name when you define the display).
That is all I can think of for now. Others may have more clever suggestions.
-Ben : )