-
Notifications
You must be signed in to change notification settings - Fork 59
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
All windows share one WM_CLASS #267
Comments
Can you try on SwayVM and report if you have the same issue as on i3WM ? |
RE WM_CLASS: It's not necessarily a FreeRDP issue. It is probably technically possible for FreeRDP to use WinAPI calls (Such as GetClassName (!)) to query every window's strings, and use those with a lookup table to assign appropriate window classes, but such a table would either have very poor coverage, or would be enormous, and even then it would have edge cases for days, as this is really not the purpose of those strings. The aforementioned ClassName identifies groups of windows, but not per-application, and the names are only really meaningful to the programmer of the specific app. The problem could be worked around by using a Windows Server install with Terminal Services, which then allows multiple RDP sessions per user, and therefore multiple FreeRDP processes each with different WM_CLASS ,but that costs money. Probably regular windows is capable of doing this too, but the functionality is certainly not made available RE: the visual glitch issue: Windows apps can have multiple windows per visible window. there's also GDI calls for painting outside the normal boundaries (without them, the process is limited to painting inside its window frame) This all works fine in the windows environment, obviously a desktopless (the windows Desktop is a Window! it has an hWnd and properties!) RDP session in a non-windows environment might not implement every winAPI event, property, and method necessary to avoid glitches like you describe I'm using XFCE, and my windows explorer context menus work, so there may be wm related issues in play as well, but: it MIGHT be that those decorations are actually [a] window[s] with their hWndInsertAfter set to HWND_TOPMOST ( = -1) when the vscode window is Active ( Thing is, switching to a non-windows window cannot trigger the code that triggers on making another window active, because you have to have the handle of a Windows window to call SetForegroundWindow(hWnd) If this is what's going on, usage of Spy++ inside of a full RDP session would likely reveal it. |
All the windows created by FreeRDP have the same WM_CLASS property.
If I open Visual Studio, MSPaint, then PowerShell, all the windows will have the
WM_CLASS(STRING) = "RAIL", "Microsoft Powershell"
properties (very likely a FeeRDP limitation).edit: When two remote apps are started, they share a WM_CLASS FreeRDP/FreeRDP#6570 (comment)
I have graphical glitches when opening winapps programs / rearranging the screen layout
Then I can see the windows decorations in other workspaces:
The text was updated successfully, but these errors were encountered: