xorg62 / wmfs

Window Manager From Scratch, Minimal manual tiling window manager.
http://wmfs.info
Other
189 stars 28 forks source link

Oracle Java 1.6 unmap window behaviour #78

Open Sp0i3eR opened 11 years ago

Sp0i3eR commented 11 years ago

Summary

There is a common practice among Java developers to hide dialog windows instead of disposing them, but Oracle JVM 1.6 breaks ICCCM spec here. Basically JVM 1.6 do this: 004:>:0287: Event UnmapNotify(18) event=0x04000016 window=0x04000016 from-configure=false(0x00) While JVM 1.7 additionally send this signal after: 005:<:0565: 44: Request(25): SendEvent propagate=false(0x00) destination=0x0000015b event-mask=SubstructureNotify,SubstructureRedirect UnmapNotify(18) event=0x0000015b window=0x04000013 from-configure=false(0x00) Workaround for JVM 1.6 is important because of major incompatibilities between 1.7 and 1.6 (switching between major vm versions for vendors in "Java" world is subject for years :) )

Current behaviour

When java hides window it leaves frame (as wmfs is reparenting vm, I suppose this is parent window==frame) When you switch between workspaces and back closed window appears again, unusable

Expected behaviour

Window hidden, until program shows it programmatically

More information

There is similar bug filed in awesome wm bugtracker, unfortunately developers there prioritize standards compliance over software compatibility.

YannMoisan commented 11 years ago

The awesome wiki indicates a possible workaround : export _JAVA_AWT_WM_NONREPARENTING=1

Source : http://awesome.naquadah.org/wiki/Problems_with_Java

Cheaterman commented 11 years ago

Awesome isn't awesome. :P

2013/2/26 Yann Moisan notifications@github.com

The awesome wiki indicates a possible workaround : export _JAVA_AWT_WM_NONREPARENTING=1

Source : http://awesome.naquadah.org/wiki/Problems_with_Java

— Reply to this email directly or view it on GitHubhttps://github.com/xorg62/wmfs/issues/78#issuecomment-14101373 .