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

Tejesh R tr at openjdk.org
Tue Mar 5 09:33:45 UTC 2024


On Tue, 5 Mar 2024 08:55:05 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)
>
> Maxim Kartashev has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fixed for Windows also
>   
>   And made the test not dependent on swing.

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

> 98: 
> 99:     private static void pause() {
> 100:         robot.delay(PAUSE_MS);

Adding `robot.waitForIdle(); ` after delay would be better.

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

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


More information about the client-libs-dev mailing list