Fix Java GUI applications in xmonad
If you ever try to run a GUI Java application when using xmonad as the Window Manager, you'll probably end up with a nice flat grey window where your buttons, toolbars and other desktop GUI goodies should be. I ran into that problem the other day when trying to evaluate the RubyMine Ruby on Rails IDE from which I heard such good things. After a rather painful installation of the official Java 6 JDK from Oracle in Ubuntu Lucid Lynx (which I'll write about in some other time), I managed to start up RubyMine just to find out I was seeing absolutely nothing on the screen.
I Googled a bit and essentially I found out that the problem was with the Java GUI Toolkit rather than RubyMine, because the framework relies on a list of window managers to handle some things, and xmonad is not in that list.
So since I was not using OpenJDK, I opted for the setWMName
option and added this final line into my xmonad.hs
file:
Setting the window manager name to LG3D will trick the Java GUI Toolkit and the application will be painted correctly.
Enjoy your Java applications with the power of xmonad!