tests: add sync_with_i3 after open_window
We need to set dont_map => 1 on the sync window to prevent an endless loop. Further, t/219-ipc-window-focus.t made assumptions about windows being named incrementally, and that assumption is broken by the sync window opened by the first sync_with_i3 call from open_window, so use the more reliable ->name.
This commit is contained in:
parent
4f751610c2
commit
5d55f93eb3
|
@ -350,6 +350,12 @@ sub open_window {
|
||||||
|
|
||||||
$window->map;
|
$window->map;
|
||||||
wait_for_map($window);
|
wait_for_map($window);
|
||||||
|
|
||||||
|
# MapWindow is sent before i3 even starts rendering: the window is placed at
|
||||||
|
# temporary off-screen coordinates first, and x_push_changes() sends further
|
||||||
|
# X11 requests to set focus etc. Hence, we sync with i3 before continuing.
|
||||||
|
sync_with_i3();
|
||||||
|
|
||||||
return $window;
|
return $window;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -688,6 +694,7 @@ sub sync_with_i3 {
|
||||||
$_sync_window = open_window(
|
$_sync_window = open_window(
|
||||||
rect => [ -15, -15, 10, 10 ],
|
rect => [ -15, -15, 10, 10 ],
|
||||||
override_redirect => 1,
|
override_redirect => 1,
|
||||||
|
dont_map => 1,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,11 +44,11 @@ sub focus_subtest {
|
||||||
is($events[0]->{container}->{name}, $name, "$name focused");
|
is($events[0]->{container}->{name}, $name, "$name focused");
|
||||||
}
|
}
|
||||||
|
|
||||||
subtest 'focus left (1)', \&focus_subtest, 'focus left', 'Window 1';
|
subtest 'focus left (1)', \&focus_subtest, 'focus left', $win1->name;
|
||||||
subtest 'focus left (2)', \&focus_subtest, 'focus left', 'Window 0';
|
subtest 'focus left (2)', \&focus_subtest, 'focus left', $win0->name;
|
||||||
subtest 'focus right (1)', \&focus_subtest, 'focus right', 'Window 1';
|
subtest 'focus right (1)', \&focus_subtest, 'focus right', $win1->name;
|
||||||
subtest 'focus right (2)', \&focus_subtest, 'focus right', 'Window 2';
|
subtest 'focus right (2)', \&focus_subtest, 'focus right', $win2->name;
|
||||||
subtest 'focus right (3)', \&focus_subtest, 'focus right', 'Window 0';
|
subtest 'focus right (3)', \&focus_subtest, 'focus right', $win0->name;
|
||||||
subtest 'focus left', \&focus_subtest, 'focus left', 'Window 2';
|
subtest 'focus left', \&focus_subtest, 'focus left', $win2->name;
|
||||||
|
|
||||||
done_testing;
|
done_testing;
|
||||||
|
|
Loading…
Reference in New Issue