Thanks for the confirmation. I'm fine with the fix. +1.

--
best regards,
Anthony

On 3/7/2014 3:59 PM, Alexander Zvegintsev wrote:
Hi Anthony,

Sure, it fails to deiconify unfocusable frame before the fix and works
after applying this patch.

Thanks,

Alexander.

On 03/07/2014 01:14 AM, Anthony Petrov wrote:
On 3/6/2014 6:36 PM, Alexander Zvegintsev wrote:
On 03/05/2014 08:18 PM, Anthony Petrov wrote:
1. What does this request do if a window being deiconified is
unfocusable, or otherwise shouldn't receive focus after
deiconification? Does this operation generate any focus events or make
the window focused?

If under unfocusable you mean frame.setFocusableWindowState(false); then
all works fine.
e.g. we have a focused frame1 with focused text area and iconified
unfocusable frame2.
After sending _NET_ACTIVE_WINDOW client message input focus remains in a
text area of frame1.
frame1 doesn't lose window focus, frame2 doesn't receive any focus
events.

And the unfocusable frame2 still gets deiconified in this scenario,
even on systems where before the fix it failed to do so?


2. src/solaris/classes/sun/awt/X11/XNETProtocol.java
330         if (!active() && !checkProtocol(XA_NET_SUPPORTED,
XA_NET_ACTIVE_WINDOW)) {

The condition should actually read as if (!a || !b).
Here is the updated webrev:
http://cr.openjdk.java.net/~azvegint/jdk/9/8012224/01/

The updated version of the fix is fine. Thanks.

--
best regards,
Anthony


Thanks,

Alexander.




--
best regards,
Anthony

On 3/5/2014 7:45 PM, Alexander Zvegintsev wrote:
Hello AWT team,

please review fix
http://cr.openjdk.java.net/~azvegint/jdk/9/8012224/00/
for
https://bugs.openjdk.java.net/browse/JDK-8012224

X FAQ[1] says:

Subject: 141)  How do I deiconify a window?

To de-iconify a window, map it with XMapWindow().  To iconify a
window, use
XIconifyWindow().

Unfortunately it does not work with compiz/Unity, I've found several
reported issues [2] [3] [4] with similar synopsis.

EMWH provide another way to deiconify window: send a
_NET_ACTIVE_WINDOW[5] client message.

Actually, there is no need to call XMapRaised(If _NET_ACTIVE_WINDOW is
supported), but I left it as it is, since it doesn't hurt.

[1] http://ftp.x.org/contrib/faqs/FAQ
[2] https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/369954
XRaiseWindow not working
[3] https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1067886 xwit
cannot de-iconify window
[4] https://bugs.launchpad.net/unity/+bug/932580 Application window
not
responsive when iconified
[5]
http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#id2731082

--
Thanks,

Alexander.



Reply via email to