xpra icon
Bug tracker and wiki

Opened 3 years ago

Last modified 5 months ago

#1369 assigned enhancement

Sync window position between clients

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


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 (3)

comment:1 Changed 3 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 3 years ago by Antoine Martin (previous) (diff)

comment:4 Changed 18 months ago by Antoine Martin

Milestone: future3.1

comment:5 Changed 5 months ago by Antoine Martin

Milestone: 3.14.0

Milestone renamed

Note: See TracTickets for help on using tickets.