head 1.1; access; symbols; locks root:1.1; strict; comment @# @; 1.1 date 2014.08.31.09.55.43; author root; state Exp; branches; next ; desc @Environment variable _JAVA_AWT_WM_NONREPARENTING can be used to inform the toolkit that the wm is non-reparenting @ 1.1 log @Initial revision @ text @--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java.orig 2014-08-15 01:26:43.061953536 +0300 +++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java 2014-08-15 01:26:53.484953419 +0300 @@@@ -105,7 +105,8 @@@@ LG3D_WM = 13, CWM_WM = 14, MUTTER_WM = 15, - MARCO_WM = 16; + MARCO_WM = 16, + OTHER_NONREPARENTING_WM = 17; public String toString() { switch (WMID) { case NO_WM: @@@@ -138,6 +139,8 @@@@ return "Mutter"; case MARCO_WM: return "Marco"; + case OTHER_NONREPARENTING_WM: + return "Other non-reparenting WM"; case UNDETERMINED_WM: default: return "Undetermined WM"; @@@@ -591,7 +594,7 @@@@ // TODO: according to wikipedia, compiz is now reparenting. This should // probably be updated. static boolean isNonReparentingWM() { - return (XWM.getWMID() == XWM.COMPIZ_WM || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.CWM_WM); + return (XWM.getWMID() == XWM.COMPIZ_WM || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.CWM_WM || XWM.getWMID() == OTHER_NONREPARENTING_WM); } /* @@@@ -782,9 +785,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. @@@@ -795,6 +806,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; } @@@@ -1310,6 +1323,7 @@@@ res = new Insets(28, 6, 6, 6); break; case NO_WM: + case OTHER_NONREPARENTING_WM: case LG3D_WM: res = zeroInsets; break; @