xpra icon
Bug tracker and wiki

Opened 4 years ago

Last modified 3 weeks ago

#1369 assigned enhancement

Sync window position between clients

Reported by: Norman Rasmussen Owned by: Antoine Martin
Priority: minor Milestone: 4.1
Component: server Version: trunk
Keywords: wishlist Cc: norman@…, devurandom@…


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.

Change History (8)

comment:1 Changed 4 years ago by Antoine Martin

Status: newassigned

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.

Last edited 4 years ago by Antoine Martin (previous) (diff)

comment:4 Changed 2 years ago by Antoine Martin

Milestone: future3.1

comment:5 Changed 15 months ago by Antoine Martin

Milestone: 3.14.0

Milestone renamed

comment:6 Changed 4 months ago by Dennis Schridde

Cc: devurandom@… added

comment:7 Changed 4 months ago by Dennis Schridde

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

comment:8 Changed 4 months ago by Antoine Martin

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.

comment:9 in reply to:  7 Changed 4 months ago by Norman Rasmussen

Replying to 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)

comment:10 Changed 3 months ago by Antoine Martin

Milestone: 4.04.1

See also #2666

Last edited 3 weeks ago by Antoine Martin (previous) (diff)
Note: See TracTickets for help on using tickets.