Bug 1222 - NEWT OSX: setAlwaysOnTop() and setAlwaysOnBottom() not working
Summary: NEWT OSX: setAlwaysOnTop() and setAlwaysOnBottom() not working
Alias: None
Product: Newt
Classification: JogAmp
Component: macosx (show other bugs)
Version: 2.3.2
Hardware: All all
: --- enhancement
Assignee: Sven Gothel
Depends on: 1188
  Show dependency treegraph
Reported: 2015-09-19 00:38 CEST by ac
Modified: 2015-09-27 01:23 CEST (History)
0 users

See Also:
Type: ---
SCM Refs:
Workaround: ---


Note You need to log in before you can comment on or make changes to this bug.
Description ac 2015-09-19 00:38:00 CEST
Calling GLWindow.setAlwaysOnTop() does not result in the GLWindow being on top of all other windows, as expected. This happens on Mac OS X (tested with 10.9.5). Works fine on Windows (10) and Ubuntu (12.04).

The following code demonstrates the issue:

Comment 1 Sven Gothel 2015-09-26 06:29:45 CEST
commit 3d2765f0bb752debd7784f717eeac4c9eb500d5a:

- The NSWindow level must be set at window creation
- Levels are
  - aontop: kCGMaximumWindowLevel
  - aonbottom: kCGDesktopIconWindowLevel (w/ input)
  - normal: NSNormalWindowLevel
- Hence we need to recreate the NSWindow if toggling the state,
  similar to opaque .. etc.