RFR: 8326497: Window.toFront() fails for iconified windows on Linux

Phil Race prr at openjdk.org
Sat Feb 24 19:08:52 UTC 2024


On Fri, 23 Feb 2024 15:58:18 GMT, Maxim Kartashev <mkartashev at openjdk.org> wrote:

> XToolkit implements `toFront()` essentially by sending the  `_NET_ACTIVE_WINDOW` message to activate the window. This has no effect when the target window is in the iconified state. So the fix is to cancel that state prior to sending the message.
> 
> The test verifies that the fix works for maximized and undecorated frames as well out of abundance of caution; they do not represent a special case from the `toFront()` standpoint.
> 
> References
> * `_NET_ACTIVE_WINDOW`: https://specifications.freedesktop.org/wm-spec/1.3/ar01s03.html
> * [Inter-Client Communication Conventions Manual, 4.1.4. Changing Window State](https://tronche.com/gui/x/icccm/sec-4.html#s-4.1.4)

test/jdk/java/awt/Frame/Iconify/IconifiedToFront.java line 29:

> 27:  * @requires os.family == "linux"
> 28:  * @library /test/lib
> 29:  * @run main IconifiedToFront

Well, the testing noticed for me that this fails because you don't specify 
@key headless

Also the requires os.family == linux surely should not be needed
If this is the desired JDK behaviour it should do the same on all platforms.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/17985#discussion_r1501683448


More information about the client-libs-dev mailing list