Open sunweaver opened 4 years ago
@bmiklautz: Highlighting Bernhard Miklautz on this regression in marco. Bernhard is one of the leading FreeRDP upstream developers.
@vkareh have you already noticed this bug? Do you have any idea which of the commits between 1.24.1 and 1.22.4 might be responsible for this change of behaviour in FreeRDP?
I have bisected this issue and found that it was caused by this commit:
https://github.com/mate-desktop/marco/commit/bf89c4c4221f060006a2fef93c72ce9d949adcec
This is the issue that caused this commit to be added:
I noticed that not calling meta_window_move_resize_internal in the fullscreen-legacy case does prevent this issue, but then the window doesn't get decorations the first time it switches out of fullscreen, subsequent switches out of fullscreen do get decorated though.
@bmiklautz:
I modified FreeRDP to comment out all of the XMoveWindow calls within the xf_SetWindowFullscreen function and this fixed the issue perfectly for me.
I tried moving the XMoveWindow calls after setting the fullscreen state, but that did not work for me.
(I only tested the single-monitor case for these tests)
Are there window managers where setting a window as full-screen does not also resize it to the correct size of the current monitor?
@pabs3 unfortunately. Full screen handling is a mess it's handled differently almost everywhere ;(.
Expected behaviour
When connecting to a fullscreen (Windows) RDP session using xfreerdp (as found in Debian testing these days), you can hit ctrl+alt+enter in the RDP session and the session window toggles from fullscreen to a windowed RDP session. Hitting ctrl+alt+enter again lets the RDP session toggle back into full screen mode.
Actual behaviour
The fullscreen RDP session flickers when ctrl+alt+enter gets hit (one can see the desktop shell for the fraction of a second) and then the RDP session comes back to fullscreen. The user cannot leave the fullscreen RDP session other than logging out of the RDP server and ending the session.
Steps to reproduce the behaviour
Install MATE 1.24 with marco 1.24 on a Debian testing (or any other recent Linux) and connect to a Windows RDP server using xfreerdp:
The used xfreerdp is freerdp2 2.0.0~git20190204.1.2693389a+dfsg1-2 [1]. The +toggle-fullscreen option normally is the default, listing it in the above command anyway, to be sure.
Once the RDP session has come up, hit ctrl+alt+enter. You should see a flickering and then you are back in fullscreen RDP again.
Then downgrade marco on the client to 1.22.4. Try the above again and hitting ctrl+alt+enter should then toggle fullscreen / windowed session mode all fine.
MATE general version
1.24
Package version
1.24.0
Linux Distribution
Debian testing/unstable
Link to downstream report of your Distribution
none
[1] http://snapshot.debian.org/package/freerdp2/2.0.0%7Egit20190204.1.2693389a%2Bdfsg1-2/