Created attachment 1021 [details] Screenshot showing the problem when tlclient has focus When the ThinLinc client is in fullscreen on a secondary monitor you can end up in a state where the macOS menu bar incorrectly shows on top of the ThinLinc client. This can only be observed when you have "Displays have separate Spaces" enabled in the mission control settings in macOS. The reason this setting needs to be enabled is that the menu bar doesn't show up on the secondary screen otherwise. The default setting on macOS is to have "Displays have separate Spaces" enabled. Steps to reproduce the bug: 1. Verify that "Displays have separate Spaces" is enabled in mission control 2. Start the ThinLinc 4.14.0 client and select it to display in fullscreen on the secondary monitor 3. Connect 4. Click on the primary monitor to make the ThinLinc client loose focus 5. You will now see that the macOS menu bar appears in front of the ThinLinc client, this is fine 6. Now move focus back to the ThinLinc Client, this does now causes the "fullscreen" client window to adjust its position a few pixels down to appear below the menu bar. The expected behavior in step 6 would be for the client to appear in front of the menu bar again, in proper full screen. This bug can not be reproduced when the client is in fullscreen on the primary monitor (the monitor with the macOS dock), but that is likely due to bug 7818. This bug is a regression in ThinLinc 4.14.0 and can not be reproduced with 4.13.0.
Created attachment 1022 [details] Screenshot of how it looks when tlclient doesn't have focus
For this bug to happen you need the following settings: * "Displays have separate Spaces" enabled * Full screen on secondary monitor * "Send system keys" enabled
Created attachment 1023 [details] Screenshot of how it looks with 4.13.0 client but with FLTK 1.3.7 I can reproduce this bug with a ThinLinc 4.13.0 client using a vncviewer built with fltk-1.3.7. Since we can't reproduce the issue when using exact same client, but with a vncviewer built with fltk 1.3.5, we can say that the issue comes from the fltk upgrade. One minor difference in the way the bug appears when using this client is that, instead of showing the menu bar after switching the focus back to tlclient, we get a black bar where the menu bar was. We still get the buggy behavior of the full screen session being pushed down with an offset as high as the menu bar. See the screenshot.
Created attachment 1024 [details] Screenshot of how it looks with 4.13.0 client but with FLTK 1.3.7
I have seen once as well that we get a mouse offset, that mouse events don't end up where they should when interacting with the session. Unfortunately, I haven't been able to reproduce it, but perhaps it's racy. We have this suggested fix for FLTK mouse offset issues, it hasn't been committed to FLTK, instead, they committed a workaround: https://github.com/fltk/fltk/issues/287#issuecomment-959015611