--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java 2016-04-01 07:04:05.000000000 +0200 +++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java 2016-04-10 13:49:06.513358648 +0200 @@ -104,7 +104,8 @@ COMPIZ_WM = 12, LG3D_WM = 13, CWM_WM = 14, - MUTTER_WM = 15; + MUTTER_WM = 15, + OTHER_NONREPARENTING_WM = 16; public String toString() { switch (WMID) { case NO_WM: @@ -601,7 +602,8 @@ awtWMNonReparenting = (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) ? 1 : 0; } return (awtWMNonReparenting == 1 || XWM.getWMID() == XWM.COMPIZ_WM - || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.CWM_WM); + || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.CWM_WM + || XWM.getWMID() == XWM.OTHER_NONREPARENTING_WM); } /* @@ -796,9 +798,17 @@ * supports WIN or _NET wm spec. */ else if (l_net_protocol.active()) { - awt_wmgr = XWM.OTHER_WM; + if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { + awt_wmgr = XWM.OTHER_NONREPARENTING_WM; + } else { + awt_wmgr = XWM.OTHER_WM; + } } else if (win.active()) { - awt_wmgr = XWM.OTHER_WM; + if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { + awt_wmgr = XWM.OTHER_NONREPARENTING_WM; + } else { + awt_wmgr = XWM.OTHER_WM; + } } /* * Check for legacy WMs. @@ -809,6 +819,8 @@ awt_wmgr = XWM.MOTIF_WM; } else if (isOpenLook()) { awt_wmgr = XWM.OPENLOOK_WM; + } else if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { + awt_wmgr = XWM.OTHER_NONREPARENTING_WM; } else { awt_wmgr = XWM.OTHER_WM; } @@ -1337,6 +1349,7 @@ res = new Insets(28, 6, 6, 6); break; case NO_WM: + case OTHER_NONREPARENTING_WM: case LG3D_WM: res = zeroInsets; break;