#!perl
# vim:ts=4:sw=4:expandtab
#
+# Please read the following documents before working on tests:
+# • https://build.i3wm.org/docs/testsuite.html
+# (or docs/testsuite)
+#
+# • https://build.i3wm.org/docs/lib-i3test.html
+# (alternatively: perldoc ./testcases/lib/i3test.pm)
+#
+# • https://build.i3wm.org/docs/ipc.html
+# (or docs/ipc)
+#
+# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf
+# (unless you are already familiar with Perl)
+#
# Tests if WM_STATE is WM_STATE_NORMAL when mapped and WM_STATE_WITHDRAWN when
# unmapped.
#
my $tmp = two_windows;
cmd 'kill';
-
-sleep 0.25;
+sync_with_i3;
ok(@{get_ws_content($tmp)} == 1, 'one container left after killing');
$tmp = two_windows;
cmd 'kill window';
-
-sleep 0.25;
+sync_with_i3;
ok(@{get_ws_content($tmp)} == 1, 'one container left after killing');
$tmp = two_windows;
cmd 'kill client';
-
-sleep 0.25;
+# We need to re-establish the X11 connection which we just killed :).
+$x = i3test::X11->new;
+sync_with_i3(no_cache => 1);
ok(@{get_ws_content($tmp)} == 0, 'no containers left after killing');