Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8058197

AWT fails on generic non-reparenting window managers

XMLWordPrintable

    • b38
    • x86
    • linux

        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)

              azvegint Alexander Zvegintsev
              webbuggrp Webbug Group
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: