FULL PRODUCT VERSION :
All versions of the JVM
ADDITIONAL OS VERSION INFORMATION :
Any OS that uses the X window system with a non-reparenting window manager (e.g. tiling window managers like xmonad or dwm)
A DESCRIPTION OF THE PROBLEM :
Copied from the AWT-dev mailing list at http://mail.openjdk.java.net/pipermail/awt-dev/2014-September/008479.html and http://mail.openjdk.java.net/pipermail/awt-dev/2014-September/008477.html
AWT currently includes a (very incomplete) hard-coded list of
non-reparenting window managers. To work around this, many distributions
patch openjdk to add support for this to be controlled by an environment
variable (_JAVA_AWT_WM_NONREPARENTING), see for instance
(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508650 or
https://projects.archlinux.org/svntogit/packages.git/plain/trunk/openjdk7_nonreparenting-wm.diff?h=packages/java7-openjdk)
A more minimal implementation than the above is to add an extra clause
to isNonReparentingWM in XWM.java something along the lines of
(XWM.getWMID() == XWM.OTHER_WM &&
XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) which avoids the
need to define a new WM.
This change seems like it would have minimal side effects but greatly
improve usability (a quick google search for java tiling window manager
reveals a lot of pain surrounding this issue).
REPRODUCIBILITY :
This bug can be reproduced always.
CUSTOMER SUBMITTED WORKAROUND :
Copied from the AWT-dev mailing list at http://mail.openjdk.java.net/pipermail/awt-dev/2014-September/008479.html and http://mail.openjdk.java.net/pipermail/awt-dev/2014-September/008477.html
Many distributions
patch openjdk to add support for this to be controlled by an environment
variable (_JAVA_AWT_WM_NONREPARENTING), see for instance
(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508650 or
https://projects.archlinux.org/svntogit/packages.git/plain/trunk/openjdk7_nonreparenting-wm.diff?h=packages/java7-openjdk)