Bug 1222

Summary: NEWT OSX: setAlwaysOnTop() and setAlwaysOnBottom() not working
Product: [JogAmp] Newt Reporter: ac <andres.colubri>
Component: macosxAssignee: Sven Gothel <sgothel>
Status: RESOLVED FIXED    
Severity: enhancement    
Priority: ---    
Version: 2.3.2   
Hardware: All   
OS: all   
Type: --- SCM Refs:
3d2765f0bb752debd7784f717eeac4c9eb500d5a
Workaround: ---
Bug Depends on: 1188    
Bug Blocks:    

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:

https://github.com/codeanticode/jogl2-tests/blob/master/src/test/windows/WindowTopNEWT.java
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.