# !NO_I3_INSTANCE! will prevent complete-run.pl from starting i3
#
#
-use X11::XCB qw(:all);
-use X11::XCB::Connection;
use i3test;
-
-my $x = X11::XCB::Connection->new;
+use X11::XCB qw(PROP_MODE_REPLACE WINDOW_CLASS_INPUT_OUTPUT);
##############################################################
# 1: test the following directive:
$window->name('Border window');
$window->map;
-wait_for_map $x;
+wait_for_map $window;
my @content = @{get_ws_content($tmp)};
cmp_ok(@content, '==', 1, 'one node on this workspace now');
is($content[0]->{border}, 'normal', 'normal border');
$window->unmap;
-wait_for_unmap $x;
+wait_for_unmap $window;
-my @content = @{get_ws_content($tmp)};
+@content = @{get_ws_content($tmp)};
cmp_ok(@content, '==', 0, 'no more nodes');
diag('content = '. Dumper(\@content));
set_wm_class($window->id, 'borderless', 'borderless');
$window->name('Borderless window');
$window->map;
-wait_for_map $x;
+wait_for_map $window;
@content = @{get_ws_content($tmp)};
cmp_ok(@content, '==', 1, 'one node on this workspace now');
is($content[0]->{border}, 'none', 'no border');
$window->unmap;
-wait_for_unmap $x;
+wait_for_unmap $window;
@content = @{get_ws_content($tmp)};
cmp_ok(@content, '==', 0, 'no more nodes');
$window->name('special title');
$window->map;
-wait_for_map $x;
+wait_for_map $window;
@content = @{get_ws_content($tmp)};
cmp_ok(@content, '==', 1, 'one node on this workspace now');
is($content[0]->{border}, 'normal', 'still normal border');
$window->unmap;
-wait_for_unmap $x;
+wait_for_unmap $window;
@content = @{get_ws_content($tmp)};
cmp_ok(@content, '==', 0, 'no more nodes');
$window->name('special mark title');
$window->map;
-wait_for_map $x;
+wait_for_map $window;
@content = @{get_ws_content($tmp)};
cmp_ok(@content, '==', 1, 'one node on this workspace now');
is($content[0]->{border}, 'none', 'no border');
-my $other = open_window($x);
+my $other = open_window;
@content = @{get_ws_content($tmp)};
cmp_ok(@content, '==', 2, 'two nodes');
set_wm_class($window->id, 'borderless', 'borderless');
$window->name('usethis');
$window->map;
-wait_for_map $x;
+wait_for_map $window;
@content = @{get_ws_content($tmp)};
cmp_ok(@content, '==', 1, 'one node on this workspace now');
is($content[0]->{border}, 'none', 'no border');
cmd 'kill';
-wait_for_unmap $x;
+wait_for_unmap $window;
$window->destroy;
# give i3 a chance to delete the window from its tree
set_wm_class($window->id, 'borderless', 'borderless');
$window->name('notthis');
$window->map;
-wait_for_map $x;
+wait_for_map $window;
@content = @{get_ws_content($tmp)};
cmp_ok(@content, '==', 1, 'one node on this workspace now');
set_wm_class($window->id, 'bar', 'foo');
$window->name('usethis');
$window->map;
-wait_for_map $x;
+wait_for_map $window;
@content = @{get_ws_content($tmp)};
cmp_ok(@content, '==', 1, 'one node on this workspace now');
set_wm_class($window->id, 'bar', 'foo');
$window->name('usethis');
$window->map;
-wait_for_map $x;
+wait_for_map $window;
@content = @{get_ws_content($tmp)};
cmp_ok(@content, '==', 1, 'one node on this workspace now');
set_wm_class($window->id, 'bar', 'foo');
$window->name('usethis');
$window->map;
-wait_for_map $x;
+wait_for_map $window;
@content = @{get_ws_content($tmp)};
cmp_ok(@content, '==', 1, 'one node on this workspace now');
$window->name('usethis');
$window->map;
-wait_for_map $x;
+wait_for_map $window;
@content = @{get_ws_content($tmp)};
cmp_ok(@content, '==', 1, 'one node on this workspace now');
$window->name('usethis');
$window->map;
-wait_for_map $x;
+wait_for_map $window;
@content = @{get_ws_content($tmp)};
cmp_ok(@content, '==', 1, 'one node on this workspace now');