Bug 7818 - Client obscures other focused windows in full screen on macOS
Summary: Client obscures other focused windows in full screen on macOS
Status: NEW
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: VNC (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: LowPrio
Assignee: Bugzilla mail exporter
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-12-29 09:41 CET by Pierre Ossman
Modified: 2022-12-14 14:37 CET (History)
1 user (show)

See Also:
Acceptance Criteria:


Attachments

Description Pierre Ossman cendio 2021-12-29 09:41:09 CET
When the client is in full screen and you switch to another application, that application is supposed to be in front of the client in case they overlap. This used to work fine on macOS but is now broken.

This is a regression since 4.9.0 still works. It is unclear when it stopped working though as 4.10.0 through 4.12.0 fail to render properly on macOS (bug 7539) so those cannot be tested. 4.12.1 exhibits the bug though.

We upgraded FLTK for 4.10.0 and 4.12.0 though, so those are the likely versions where this stopped working.
Comment 1 Pierre Ossman cendio 2021-12-29 09:53:34 CET
It was broken by this commit, included in FLTK 1.3.4:

https://github.com/fltk/fltk/commit/25fc85190e48c5e0cdece97c90a3a291de9fd129

See discussion on https://github.com/fltk/fltk/pull/277:

> It was broken by 25fc851. Might be a regression in newer versions of macOS.
> The issue seems to be that you always get nil for [NSApp keyWindow] if the
> window belongs to another process. So the level adjustment code in 
> windowDidResignKey() never executes.
Comment 2 Samuel Mannehed cendio 2022-02-08 15:55:54 CET Comment hidden (obsolete)
Comment 3 Samuel Mannehed cendio 2022-02-08 16:06:30 CET
The "Displays have separate spaces" setting also does not affect this behavior.
Comment 4 Samuel Mannehed cendio 2022-02-09 15:37:43 CET
The notes in comment 2 are incorrect, it is likely that I got confused due to bug 7782.

The only requirement for this bug to occur is that "Send system keys" should be disabled.

The explanation for this is that when we grab we set the window level ourselves in vncviewer which means are not affected by the buggy levels set by FLTK. This bug should be fixed by a vendor drop of FLTK since it is supposedly fixed upstream.

With regards to bug 7782, in order to observe that the client does NOT obscure windows, when the client is on the primary screen (and grab is disabled), you can right-click on any text-input on the secondary screen to release the focus.

Note You need to log in before you can comment on or make changes to this bug.