JRE-366 Add support for Awesome WM

Added detection of Awesome WM and handled similar to Sawfish WM

(cherry picked from commit 6742077ed198975949af567e8ef543f853397351)
(cherry picked from commit 2847be73c6)
This commit is contained in:
Alexey Ushakov
2017-05-18 13:59:04 +03:00
committed by Vitaly Provodin
parent d8b090823e
commit c6565a1f94
2 changed files with 19 additions and 3 deletions

View File

@@ -109,7 +109,9 @@ final class XWM
CWM_WM = 14,
MUTTER_WM = 15,
UNITY_COMPIZ_WM = 16,
XMONAD_WM = 17;
XMONAD_WM = 17,
AWESOME_WM = 18;
public String toString() {
switch (WMID) {
case NO_WM:
@@ -143,7 +145,9 @@ final class XWM
case MUTTER_WM:
return "Mutter";
case XMONAD_WM:
return "Xmonad";
return "XMonad";
case AWESOME_WM:
return "Awesome";
case UNDETERMINED_WM:
default:
return "Undetermined WM";
@@ -613,6 +617,10 @@ final class XWM
return isNetWMName("xmonad");
}
static boolean isAwesome() {
return isNetWMName("awesome");
}
static int awtWMNonReparenting = -1;
static boolean isNonReparentingWM() {
if (awtWMNonReparenting == -1) {
@@ -814,6 +822,8 @@ final class XWM
awt_wmgr = XWM.UNITY_COMPIZ_WM;
} else if (isXmonad()) {
awt_wmgr = XWM.XMONAD_WM;
} else if (isAwesome()) {
awt_wmgr = XWM.AWESOME_WM;
}
/*
* We don't check for legacy WM when we already know that WM
@@ -1138,6 +1148,8 @@ final class XWM
case XWM.SAWFISH_WM:
case XWM.ICE_WM:
case XWM.METACITY_WM:
case XWM.XMONAD_WM:
case XWM.AWESOME_WM:
return true;
case XWM.OPENLOOK_WM:
case XWM.MOTIF_WM:
@@ -1380,6 +1392,7 @@ final class XWM
case NO_WM:
case LG3D_WM:
case XMONAD_WM:
case AWESOME_WM:
res = zeroInsets;
break;
case UNITY_COMPIZ_WM:
@@ -1657,7 +1670,9 @@ final class XWM
break;
}
case XWM.SAWFISH_WM:
case XWM.OPENLOOK_WM: {
case XWM.OPENLOOK_WM:
case XWM.AWESOME_WM:
{
/* single reparenting */
syncTopLevelPos(window, lwinAttr);
correctWM.top = lwinAttr.get_y();

View File

@@ -777,6 +777,7 @@ class XWindowPeer extends XPanelPeer implements WindowPeer,
case XWM.MUTTER_WM:
case XWM.SAWFISH_WM:
case XWM.UNITY_COMPIZ_WM:
case XWM.AWESOME_WM:
{
Point xlocation = queryXLocation();
if (log.isLoggable(PlatformLogger.Level.FINE)) {