FS#41846 - [jre8-openjdk] _JAVA_AWT_WM_NONREPARENTING environment variable patch has not been included
Attached to Project:
Arch Linux
Opened by Fernando Sanchez (grimpirate) - Saturday, 06 September 2014, 13:36 GMT
Last edited by Guillaume ALAUX (galaux) - Saturday, 20 September 2014, 13:34 GMT
Opened by Fernando Sanchez (grimpirate) - Saturday, 06 September 2014, 13:36 GMT
Last edited by Guillaume ALAUX (galaux) - Saturday, 20 September 2014, 13:34 GMT
|
Details
Description:
In openjdk7 an vendor patch was introduced in order to fix behaviors with certain nonreparenting window managers. The patch has not been applied to openjdk8. This affects the runtime file typically located in /etc/profile.d/jre.sh as it invalidates the _JAVA_AWT_WM_NONREPARENTING environment variable. Steps to reproduce: Install package dwm and resize any window to note that resizing windows has no effect on the layout of a Swing application. Workaround: Use wmname LG3D to fool the JVM. Solution: Patch the source as in openjdk7. I have included the proposed diff file for the XWM.java file in the openjdk8 source. |
This task depends upon
Closed by Guillaume ALAUX (galaux)
Saturday, 20 September 2014, 13:34 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed in 8.u20-3
Saturday, 20 September 2014, 13:34 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed in 8.u20-3
[0] http://bugs.java.com/view_bug.do?bug_id=6429775
https://projects.archlinux.org/svntogit/packages.git/tree/trunk/openjdk7_nonreparenting-wm.diff?h=packages/java7-openjdk
Which is within the source files of the git package for the java7-openjdk project on Arch:
https://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/java7-openjdk
Also remarked on here as a vendor-specific fix from Debian, wherein since 2009 the patch has yet to be applied, and I see no indication that it ever will be:
http://awesome.naquadah.org/wiki/Problems_with_Java#Use_OpenJDK_With_Vendor_Fix
and they're up for it. I can't officially send a patch, but maybe one of you could take command of this issue.
[0] http://mail.openjdk.java.net/pipermail/awt-dev/2014-September/008488.html
grimpirate, cgoss: could you please test and report back here?
-3 is built with it so you can still test it.
Thanks for the gcc hint.
@cgoss: I never had the intention of moving it upstream. The way they handle window managers to me seems to indicate that they use specific fixes for certain things. The patch I suggested does not support this paradigm, rather it reassigns the default parameters of LG3D generically as a "fix" for other tiling managers (which the code also does for NO_WM). That may not suffice in all cases. There is a notable difference from the jdk7 patch in that I chose to neglect the check for _NET or WIN because I thought it superfluous to check for this if the user/admin has already specified a non-reparenting window manager. Likely, I imagine that for the JDK folk, putting an editable environment variable for every little thing that might come up is not efficient. If all these window managers had the same insets/offsets/etc. then it might make more sense, but I'm not convinced they would include the patch if it it was already shown (and fairly popularized in openjdk7) that they didn't put it in openjdk8. I mentioned it here because I had grown used to it in openjdk7 and then uncovered it was in fact vendor-specific.