JDK-6574362 : Support for Ratpoison window manager in Java
  • Type: Enhancement
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 6
  • Priority: P5
  • Status: Open
  • Resolution: Unresolved
  • OS: linux
  • CPU: x86
  • Submitted: 2007-06-27
  • Updated: 2018-09-05
Related Reports
Relates :  
Relates :  
Relates :  
Description
FULL PRODUCT VERSION :
java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)

ADDITIONAL OS VERSION INFORMATION :
Linux blackheath 2.6.18-4-686 #1 SMP Wed May 9 23:03:12 UTC 2007 i686 GNU/Linux
This is a Debian box, but I've tested it on several distributions of Linux.


EXTRA RELEVANT SYSTEM CONFIGURATION :
Xorg v7.2
ratpoison 1.4.1 (built Jun  1 2007 19:23:57)

A DESCRIPTION OF THE PROBLEM :
When opening any java gui application, a blank screen is rendered.

This does not happen under gnome or kde. I also tested twm and openbox and they all seem to work fine.

I used netbeans as a test application, but it seems to happen with all java gui apps including oracles's sql developer and oracle toplink workbench.

Eclipse using SWT seems to be unaffected.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
install ratpoison window manager.
install netbeans.
run netbeans.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Expected a fully functional netbeans (or any other java gui app that I try to open)
ACTUAL -
A popup is displayed in the top left of the screen. Once the progress bar has finished, a blank screen is drawn.

ERROR MESSAGES/STACK TRACES THAT OCCUR :
No error log is written. The process runs perfectly, just not drawing the screen.
When I kill the process, it shuts down properly.

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
not applicable
---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
I found this bug reported before as BUG ID 5105881.
It was never resolved due to it 'not being reproducible'.

This is a very easy bug to reproduce, and I've encountered it on all my system that I have used using various Linux distributions.

Comments
EVALUATION The 'rename' workaround suggests that this bug can be fixed with almost a one-liner at XWM.isNonReparentingWM() (at src/solaris/classes/sun/awt/X11/XWM.java) - this window manager just needs to be marked as 'non-reparenting wm'. There's also some code in the guessInsets() method of the XWM class that might require an additional case: for this WM.
05-05-2010

WORK AROUND 'Rename' the window manager to LG3D with a tool at http://tools.suckless.org/wmname
05-05-2010

EVALUATION I have installed ratpoison window manager onto my desktop and tried running NetBeans 5.5 and other Java applications. Everything runs almost smoothly with the latest version of JDK7 (~b15), while with JDK6u2 I observed the described problems with NetBeans. The problem looks very close to what is described in 6509038 and 6429775: AWT does not handle correctly some toplevel information (like insets or reparenting) for some window managers. Even with JDK7 there are some problems with Swing menus which look related to insets. I don't know a way for AWT to find out if the running window manager is reparenting or not, there is no specification about this exist. At the same time, I doubt AWT can support every window manager in the world. However, this bug may be considered as a good candidate for OpenJDK starter (like the RFE about former Beryl support).
27-06-2007

EVALUATION The described problems seem to be similar to the ones experienced with the Ion WM.
27-06-2007