summaryrefslogtreecommitdiff
path: root/extra/openjdk6/nonreparenting-wm.diff
blob: ec890b4347ec941a9aa9a2d630ed555ec071655d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XWM.java b/jdk/src/solaris/classes/sun/awt/X11/XWM.java
index 68d1ff7..878327e 100644
--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java
+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java
@@ -98,11 +98,14 @@ class XWM implements MWMConstants, XUtilConstants {
         ICE_WM = 10,
         METACITY_WM = 11,
         COMPIZ_WM = 12,
-        LG3D_WM = 13;
+        LG3D_WM = 13,
+        OTHER_NONREPARENTING_WM = 14;
     public String toString() {
         switch  (WMID) {
           case NO_WM:
               return "NO WM";
+          case OTHER_NONREPARENTING_WM:
+              return "Other non-reparenting WM";
           case OTHER_WM:
               return "Other WM";
           case OPENLOOK_WM:
@@ -564,7 +567,7 @@ class XWM implements MWMConstants, XUtilConstants {
     }
 
     static boolean isNonReparentingWM() {
-        return (XWM.getWMID() == XWM.COMPIZ_WM || XWM.getWMID() == XWM.LG3D_WM);
+        return (XWM.getWMID() == XWM.COMPIZ_WM || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.OTHER_NONREPARENTING_WM);
     }
 
     /*
@@ -764,9 +767,17 @@ class XWM implements MWMConstants, XUtilConstants {
              * 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.
@@ -777,6 +788,8 @@ class XWM implements MWMConstants, XUtilConstants {
                 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;
             }
@@ -1298,6 +1311,7 @@ class XWM implements MWMConstants, XUtilConstants {
                   res = new Insets(28, 6, 6, 6);
                   break;
               case NO_WM:
+              case OTHER_NONREPARENTING_WM:
               case LG3D_WM:
                   res = zeroInsets;
                   break;