FC6, Compiz and IntelliJ (using Sun's 1.5.0 JDK)

Owen Taylor otaylor at redhat.com
Sun Oct 22 20:19:53 UTC 2006


On Fri, 2006-10-20 at 15:12 +0100, Manik Surtani wrote:
> Just to confirm, other Java Swing apps fail to render with Compiz.   
> Tested LogFactor5, that ships with FC6 (in the log4j-1.2.13-3jpp.2  
> package).  This has even been compiled to native binary with gcj.

It definitely seems to be restricted to a subset of Swing apps ...
the only problem I've seen going through various apps (the swing
demos, etc) is with jconsole ... it's main window is blank, though
responsive to mouse clicks when started under compiz.

Turning off desktop effects then turning them back on while it
is running (that is, switch from compiz to metacity and back) makes
it OK.

The implication to me is that it is waiting for some event that it isn't
getting under compiz ...

A little experimentation reveals (I wrote a program to send fake
events...) reveals that the missing ingredient is a "ReparentNotify"
event. Most contemporary window managers reparent the client 
window into a "frame window" where the decorations are drawn.

Compiz, since it is drawing everything via GL, has no need to do
so it leaves the child windows as direct children of the root window.

But somewhere in the Swing or AWT code it thinks that it shouldn't draw
until it gets a ReparentNotify.

Of course, a google search turns up 6429775 in the Sun bug database
about the problem, which has at least that much of a diagnosis and 
a ton of "me toos" so I guess should have tried that first :-) There's a
partial workaround mentioned there of setting AWT_TOOLKIT=MToolkit.

I don't think there really is any course of action other than waiting
for Sun to fix the bug.
					- Owen





More information about the desktop mailing list