Bug 1222 - NEWT OSX: setAlwaysOnTop() and setAlwaysOnBottom() not working
: NEWT OSX: setAlwaysOnTop() and setAlwaysOnBottom() not working
Status: RESOLVED FIXED
: None
: Newt
: JogAmp
: macosx (show other bugs)
: 2.3.2
: All all
: --- enhancement
: Sven Gothel
:
: 1188
:
  Show dependency treegraph
 
Reported: 2015-09-19 00:38 CEST by ac
Modified: 2015-09-27 01:23 CEST (History)
0 users

:
Type: ---
SCM Refs:
3d2765f0bb752debd7784f717eeac4c9eb500d5a
Workaround: ---


Attachments

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:

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.