Skip to content
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

Sync window position between clients #1369

Open
totaam opened this issue Nov 21, 2016 · 6 comments
Open

Sync window position between clients #1369

totaam opened this issue Nov 21, 2016 · 6 comments
Labels
enhancement New feature or request geometry
Milestone

Comments

@totaam
Copy link
Collaborator

totaam commented Nov 21, 2016

Issue migrated from trac ticket # 1369

component: server | priority: minor | keywords: wishlist

2016-11-21 22:27:15: norman created the issue


split from #41,

I would be nice-to-have to be able to sync window position between clients, and be able to specify an offset at the client. This would make it possible to simulate having two monitors connected to the same computer; when in fact they're two different machines, with xpra syncing the windows. (i.e. When you move a window on the one monitor towards the other, it would appear to move between the two monitors.)

eg: I could run client on workstation & laptop, and window position is sync'ed but windows only appear on one display at a time, eg workstation at +0+0, and laptop at -1440+0.

@totaam
Copy link
Collaborator Author

totaam commented Nov 22, 2016

This could be done as part of #1368 which is related.

We could add new parameters to the sharing command line switch to control where new clients are added to the server-side virtual display: on-top (as done currently), automatic side-by-side, custom offset, etc

The big difficulty for implementing the "windows that appear to move from one client to another" is that the windowing systems (ie: the client side window manager on Linux) will clamp window positions to the desktop, so we would have to add code to hide the windows until the offset makes them land within the client's desktop area.
Another difficulty is arbitration of positions and avoiding loops: each client window manager may decide to clamp and slightly move a window which would then be forwarded to the other client... which could do the same thing, ending up in a loop.

@totaam
Copy link
Collaborator Author

totaam commented Feb 2, 2020

2020-02-02 18:45:03: devurandom commented


Maybe Synergy (1,2) can be of help / be interfaced with to implement this? They implement mouse and keyboard sharing across computers.

(1): https://symless.com/synergy
(2): https://github.com/symless/synergy-core

@totaam
Copy link
Collaborator Author

totaam commented Feb 3, 2020

No, synergy does not help us here.

BTW, if you want to use something based on synergy, barrier is a much better option, as it is truly open-source / free software.

@totaam
Copy link
Collaborator Author

totaam commented Feb 8, 2020

2020-02-08 20:28:48: norman commented


Replying to [comment:7 Dennis Schridde]:

Maybe Synergy (1,2) can be of help / be interfaced with to implement this?

Using Synergy (and now barrier) was always my plan to share mouse and keyboard between computers. This ticket is specifically about making windows appear to seamlessly move between displays (in the same way that synergy/barrier do for mouse and keyboard)

@totaam
Copy link
Collaborator Author

totaam commented Mar 5, 2020

See also #2666

@totaam totaam added this to the 5.0 milestone Jan 23, 2021
@totaam totaam added enhancement New feature or request geometry labels Jan 23, 2021
@normanr
Copy link

normanr commented Dec 16, 2021

The custom offset and clamping part of this request is probably resolved with the solution from #3320. I'm not sure if window position syncing should be tracked here, or as part of #2666 (or if it's already fixed?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request geometry
Projects
None yet
Development

No branches or pull requests

2 participants