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

seamless win32 server #897

Open
totaam opened this issue Jun 25, 2015 · 5 comments
Open

seamless win32 server #897

totaam opened this issue Jun 25, 2015 · 5 comments
Labels
help wanted Extra attention is needed server win32 MS Windows OS
Milestone

Comments

@totaam
Copy link
Collaborator

totaam commented Jun 25, 2015

Issue migrated from trac ticket # 897

component: platforms | priority: major | keywords: win32 shadow seamless

2015-06-25 09:05:17: antoine created the issue


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.

@totaam
Copy link
Collaborator Author

totaam commented Jun 25, 2015

2015-06-25 09:15:20: antoine changed status from new to assigned

@totaam
Copy link
Collaborator Author

totaam commented Jun 25, 2015

2015-06-25 09:15:20: antoine commented


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:

SET XPRA_WIN32_SEAMLESS=1
xpra_cmd shadow :0 --bind-tcp=0.0.0.0:10000

[[Image(XP-semi-seamless.png)]]
(top left is the transparent window holding the same windows as the bottom right window, which is a virtualbox XP virtual machine)

@totaam
Copy link
Collaborator Author

totaam commented Jun 26, 2015

2015-06-26 05:29:29: antoine uploaded file XP-semi-seamless.png (490.0 KiB)

win32 semi-seamless server
XP-semi-seamless.png

@totaam
Copy link
Collaborator Author

totaam commented Sep 15, 2016

2016-09-15 05:24:26: antoine commented


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.

@totaam
Copy link
Collaborator Author

totaam commented Mar 20, 2019

2019-03-20 05:05:34: antoine commented


Milestone renamed

@totaam totaam added v0.15.x help wanted Extra attention is needed server win32 MS Windows OS and removed v0.15.x labels Jan 22, 2021
@totaam totaam added this to the future milestone Jan 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed server win32 MS Windows OS
Projects
None yet
Development

No branches or pull requests

1 participant