JRE-353 Fedora 25 + XMonad rendering issues
Added support for Xmonad WM
diff --git a/src/solaris/classes/sun/awt/X11/XWM.java b/src/solaris/classes/sun/awt/X11/XWM.java
index 12d13d7..cf94c3b 100644
--- a/src/solaris/classes/sun/awt/X11/XWM.java
+++ b/src/solaris/classes/sun/awt/X11/XWM.java
@@ -105,7 +105,8 @@
LG3D_WM = 13,
CWM_WM = 14,
MUTTER_WM = 15,
- UNITY_COMPIZ_WM = 16;
+ UNITY_COMPIZ_WM = 16,
+ XMONAD_WM = 17;
public String toString() {
switch (WMID) {
case NO_WM:
@@ -138,6 +139,8 @@
return "CWM";
case MUTTER_WM:
return "Mutter";
+ case XMONAD_WM:
+ return "Xmonad";
case UNDETERMINED_WM:
default:
return "Undetermined WM";
@@ -602,13 +605,19 @@
return isNetWMName("Mutter") || isNetWMName("GNOME Shell");
}
+ static boolean isXmonad() {
+ return isNetWMName("xmonad");
+ }
+
static int awtWMNonReparenting = -1;
static boolean isNonReparentingWM() {
if (awtWMNonReparenting == -1) {
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.XMONAD_WM
+ );
}
/*
@@ -799,6 +808,8 @@
awt_wmgr = XWM.ICE_WM;
} else if (isUnityCompiz()) {
awt_wmgr = XWM.UNITY_COMPIZ_WM;
+ } else if (isXmonad()) {
+ awt_wmgr = XWM.XMONAD_WM;
}
/*
* We don't check for legacy WM when we already know that WM
@@ -1353,6 +1364,7 @@
break;
case NO_WM:
case LG3D_WM:
+ case XMONAD_WM:
res = zeroInsets;
break;
case UNITY_COMPIZ_WM: