xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.

Opened 7 years ago

Last modified 17 months ago

#897 assigned enhancement

seamless win32 server

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: 5.0
Component: platforms Version: 0.15.x
Keywords: win32 shadow seamless Cc:


Like it says on the tin.
It occurred to me after fixing xshape (#501) and running virtualbox that we can fairly easily do a seamless mode for win32 by sending the list of window geometries as a list of xshape rectangles.

The more tricky part is going to be the screen size issues.. we should resize the "server" screen to the size of the client, which may not be possible. So maybe we have to resort to some sort of clipping.

Attachments (1)

XP-semi-seamless.png (490.0 KB) - added by Antoine Martin 7 years ago.
win32 semi-seamless server

Download all attachments as: .zip

Change History (6)

comment:1 Changed 7 years ago by Antoine Martin

Status: newassigned

Partial support added in r9697, the window still has decorations which allows us to avoid the issues with screen sizes. A good start.

Changing the resolution on win32 does not look too hard: Resize display resolution using python with cross platform support, Programatically rotate monitor: help on using EnumDisplaySettings, see msdn: ChangeDisplaySettings

EDIT: this is what this looks like at present when connecting with a trunk Linux client to a trunk win32 server started with:

xpra_cmd shadow :0 --bind-tcp=

win32 semi-seamless server
(top left is the transparent window holding the same windows as the bottom right window, which is a virtualbox XP virtual machine)

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

Changed 7 years ago by Antoine Martin

Attachment: XP-semi-seamless.png added

win32 semi-seamless server

comment:5 Changed 6 years ago by Antoine Martin

Milestone: 0.16future

Changing video mode using ChangeDisplaySettingsEx (or even just ChangeDisplaySettings) does work, for example this pywin32 code: rotate monitor.

But we can only set existing modes, not create new ones (similar to the limitations we have with Xdummy), and I cannot see a way to tell win32 to ignore part of the screen... so this isn't going to help much.

comment:6 Changed 4 years ago by Antoine Martin

Milestone: future4.0

comment:7 Changed 3 years ago by Antoine Martin

Milestone: 4.05.0

Milestone renamed

comment:8 Changed 17 months ago by migration script

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/897

Note: See TracTickets for help on using tickets.