-
-
Notifications
You must be signed in to change notification settings - Fork 169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
wishlist: Support multiple clients connected at the same time #41
Comments
I don't understand the link with synergy... Cloning would be possible I think, but probably quite a lot of work to get right. (concurrent multi-user is even harder - read-only clone would be the first step) For example: handling constantly moving windows around whenever the controlling client decides to move a window would be tricky (think different screen sizes, different positions forced by each client's window manager, etc) Then there's the problem of managing redraws and requests for window pixel data: probably would have to send all pixel data to both clients irrespective of which client requested it (since this process is asynchronous) |
2011-11-15 16:27:22: Norman Rasmussen commented
|
Another useful feature discussed on IRC would be the ability to have different screen update rates for each client so that a slow client does not slow down everyone: it would drop most screen updates and just get a full screen refresh at the appropriate rate. |
2012-05-26 23:43:57: http://norman.rasmussen.co.za/ commented
|
Totally agree on the need to entangle the server from the connection stuff. Even if we don't support multiple connections, this will make the code more maintainable and easier to read. The crazy workaround would not work: xpra is the compositing window manager and there can only be one at a time... |
Closed duplicate ticket #169 (my bad), there has been a lot of progress in this area (especially since r1407). I have managed to connect multiple clients and see something on screen... it's a start. What is left to do:
|
|
I've posted some pretty graphs comparing performance before and after this patch to make sure it does not adversely affect it, you can find them here |
r1434 fixes clipboard: only the first client to request it will get it (doing more than this will be quite difficult and race prone) |
2012-08-29 20:31:19: norman commented
|
the clipboard would be very difficult to manage with more than one client (it is already difficult enough as it is!). I'm not sure I understand the concept of "last client to send keystroke/mouse click": what would I use this for? What is the current behaviour that needs fixing? As for syncing window position: this still needs doing... and we should not allow windows to be placed in different locations on each client, as this will lead to bugs: many applications and toolkits rely on knowing where the windows are for placing new windows/widgets/etc, if we lie about it, the results won't be good! |
2012-08-30 15:04:05: norman commented
|
Hah, gotcha, both very good ideas! |
2012-09-25 00:31:23: jpg35 commented
|
New issue: maybe system tray forwarding should be disabled for secondary clients. In dealing with hidden windows, we can deal with #47 |
I was looking at this code for unrelated problems, and thought: You are right about what needs to be done to handle client events properly: we need to keep where the window got mapped to on each client (almost like having a Another relatively easy fix is for New problems: found a race in Note: some recent changes may help a bit here (testing needed), see #765 |
2015-11-06 00:29:18: maxmylyn commented
|
That's a known issue, #990 did some preparatory work on this: we will need to keep track of who "owns" the window, and either:
Or maybe a mixture of the two: until a client focuses a window or clicks in it, maybe we should not bother sending mouse hover events? The main difficulty is that the code only has a single "desktop manager" for all clients, and we will need to have one per client connection... (and deal with minimizing, etc) |
See also r13669: we now have an offset client-side for OR windows in some cases.. |
2016-09-15 17:14:43: norman commented
|
Still TODO, some or all of:
|
@norman: does that work for you? |
2016-11-02 16:56:03: norman commented
|
Follow up in #1368. xpra control :100 toggle sharing on @afarr: not heard back from @norman, so feel free to just close this one. (though, I won't complain if you do test it!) |
2016-11-19 13:58:51: norman commented
|
@norman: yes please, "position sync" definitely won't make the cut for v1.0: this will require a more changes to actually work (ie: the virtual screen size needs to be big enough for both screens, etc). |
Split out to #1369 |
2016-11-21 22:46:56: norman commented
|
What is loopback?
I've added the 'remote cursor' to the non-opengl backend in r14468. You're probably running on an Intel chipset (greylisted) or a GPU that doesn't support enough opengl at all. Taking this ticket back as I am seeing an issue with resized windows: we should forward the resizing to the other clients... but it seems to go MIA. PS: it seems that Firefox intercepts the mouse motion events by placing another input-only window on top of its window... (fixing that would be very very very hard - the lost-motion patch above tried all sorts of things, no luck so far) |
2016-11-28 21:04:22: maxmylyn commented
|
This will do for this release, will follow up in #1373, #1368, #972, #1716 |
Issue migrated from trac ticket # 41
component: server | priority: minor | resolution: fixed | keywords: wishlist
2011-11-15 15:26:04: Norman Rasmussen created the issue
The text was updated successfully, but these errors were encountered: