Details
-
Bug
-
Resolution: Unresolved
-
P3
-
21, 22
Description
Window does not come to front on emulated mouse click.
Affected tests:
FAIL: java/awt/Modal/OnTop/OnTopDocModal1Test.java
FAIL: java/awt/Modal/OnTop/OnTopDocModal2Test.java
FAIL: java/awt/Modal/OnTop/OnTopDocModal3Test.java
FAIL: java/awt/Modal/OnTop/OnTopDocModal4Test.java
FAIL: java/awt/Modal/OnTop/OnTopDocModal5Test.java
FAIL: java/awt/Modal/OnTop/OnTopDocModal6Test.java
FAIL: java/awt/Modal/OnTop/OnTopModeless1Test.java
FAIL: java/awt/Modal/OnTop/OnTopModeless2Test.java
FAIL: java/awt/Modal/OnTop/OnTopModeless3Test.java
FAIL: java/awt/Modal/OnTop/OnTopModeless4Test.java
FAIL: java/awt/Modal/OnTop/OnTopModeless5Test.java
FAIL: java/awt/Modal/OnTop/OnTopModeless6Test.java
FAIL: java/awt/Modal/ToFront/FrameToFrontModeless1Test.java
FAIL: java/awt/Modal/ToFront/FrameToFrontNonModalTest.java
Root cause and possible solutions:
"""
Yes, the reason is this is using XTEST, an X11 protocol which will not work outside of X11.
In other words, the emulated input event reaches the X11 clients, but not the Wayland compositor which is the actual display server but also the X11 window manager in Wayland, the component which is in charge of moving/resizing/stacking the windows.
You can easily observe this using xdotool and xev in Xwayland. If the emulated click occurs within the xev window, the X11 event is logged by xev, but the window is not restacked by the Wayland compositor.
We've been working an a separate protocol to make this work, it's libEI driven by Peter Hutterer:
https://gitlab.freedesktop.org/libinput/libei
"""
Affected tests:
FAIL: java/awt/Modal/OnTop/OnTopDocModal1Test.java
FAIL: java/awt/Modal/OnTop/OnTopDocModal2Test.java
FAIL: java/awt/Modal/OnTop/OnTopDocModal3Test.java
FAIL: java/awt/Modal/OnTop/OnTopDocModal4Test.java
FAIL: java/awt/Modal/OnTop/OnTopDocModal5Test.java
FAIL: java/awt/Modal/OnTop/OnTopDocModal6Test.java
FAIL: java/awt/Modal/OnTop/OnTopModeless1Test.java
FAIL: java/awt/Modal/OnTop/OnTopModeless2Test.java
FAIL: java/awt/Modal/OnTop/OnTopModeless3Test.java
FAIL: java/awt/Modal/OnTop/OnTopModeless4Test.java
FAIL: java/awt/Modal/OnTop/OnTopModeless5Test.java
FAIL: java/awt/Modal/OnTop/OnTopModeless6Test.java
FAIL: java/awt/Modal/ToFront/FrameToFrontModeless1Test.java
FAIL: java/awt/Modal/ToFront/FrameToFrontNonModalTest.java
Root cause and possible solutions:
"""
Yes, the reason is this is using XTEST, an X11 protocol which will not work outside of X11.
In other words, the emulated input event reaches the X11 clients, but not the Wayland compositor which is the actual display server but also the X11 window manager in Wayland, the component which is in charge of moving/resizing/stacking the windows.
You can easily observe this using xdotool and xev in Xwayland. If the emulated click occurs within the xev window, the X11 event is logged by xev, but the window is not restacked by the Wayland compositor.
We've been working an a separate protocol to make this work, it's libEI driven by Peter Hutterer:
https://gitlab.freedesktop.org/libinput/libei
"""
Attachments
Issue Links
- relates to
-
JDK-8280983 [Wayland] java.awt.Robot emulating keyboard/mouse events.
- Open