Hi Anthony,

On 03/05/2014 08:18 PM, Anthony Petrov wrote:
Hi Alexander,

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.

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/

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