
When requesting to a take-focus window to acquire the input, the client may or may not respond with a SetInputFocus (this doesn't happen for no-input gtk windows in fact [to be fixed there too]), in such case we were unsetting the focus while waiting the reply. In case the client won't respond, we wait for a small delay (set to 250 ms) for the take-focus window to grab the input focus before setting it to the default window. Added a test for this behavior and for the case in which a window takes the focus meanwhile we're waiting to focus the default window. https://gitlab.gnome.org/GNOME/mutter/merge_requests/307 (cherry picked from commit f71151a5dd990d935f3fbb39451f9b41f640b625)
31 lines
368 B
Plaintext
31 lines
368 B
Plaintext
new_client 2 x11
|
|
create 2/1
|
|
show 2/1
|
|
|
|
new_client 1 x11
|
|
create 1/1
|
|
show 1/1
|
|
|
|
create 1/2 csd
|
|
set_parent 1/2 1
|
|
accept_focus 1/2 false
|
|
show 1/2
|
|
|
|
create 1/3 csd
|
|
set_parent 1/3 2
|
|
show 1/3
|
|
|
|
wait
|
|
assert_focused 1/3
|
|
assert_stacking 2/1 1/1 1/2 1/3
|
|
|
|
destroy 1/3
|
|
dispatch
|
|
|
|
assert_focused none
|
|
assert_stacking 2/1 1/1 1/2
|
|
|
|
sleep 250
|
|
assert_focused 1/1
|
|
assert_stacking 2/1 1/1 1/2
|