THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

The following task has a new comment added:

FS#430 - Java (Swing) dialogs don't go away properly
User who did this - Uli Schlachter (psychon)

----------
jdk6 does an UnmapWindow on the window which causes an UnmapNotify to be sent 
to awesome. The problem is that awesome also receives an UnmapNotify if you 
switch to another tag because it hides windows by unmapping them. So awesome 
can *NOT* track that signal since it can't tell the difference between those 
two events.

jdk7 does an UnmapWindow and additionally does this:
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)

This is a generated UnmapNotify. ICCCM (this standard is btw older than I am) mandates that java 
*has* to do this to hide its window. Awesome receives this generated UnmapNotify and then does the 
right thing. So the bug is in jdk6 not following the standard. There is not much that awesome can 
do about this since it can't tell the difference between "I am switching to tag 4" and 
"java wants this window to be unmanaged".

This works in all other window managers because awesome is the only 
non-reparenting WM which bans windows by unmapping them. E.g. dwm bans windows 
by just moving them outside of the visible region. Awesome doesn't do this 
because it breaks pagers.
Reparenting WMs solve this because they can tell the difference between "I am switching to tag 
5" (UnmapNotify for the frame window under which java's window was reparented) and "Java 
wants to unmanage its window" (UnmapNotify for java's own window).

So thanks to X11's brokeness, all non-reparenting WMs have to choose between 
breaking all pagers and running into problems with *broken* clients. Awesome 
has done the second choice, if the client is broken, then the results will be 
broken, too.
----------

More information can be found at the following URL:
http://awesome.naquadah.org/bugs/index.php?do=details&task_id=430#comment2197

You are receiving this message because you have requested it from the Flyspray 
bugtracking system.  If you did not expect this message or don't want to 
receive mails in future, you can change your notification settings at the URL 
shown above.

--
To unsubscribe, send mail to [email protected].

Reply via email to