warnings->import;
$x ||= i3test::X11->new;
+ # set the pointer to a predictable position in case a previous test has
+ # disturbed it
+ $x->root->warp_pointer(0, 0);
$cv->recv if $i3_autostart;
@_ = ($class);
for my $output (@outputs) {
next if $output->{name} eq '__i3';
# get the first CT_CON of each output
- my $content = first { $_->{type} == 2 } @{$output->{nodes}};
+ my $content = first { $_->{type} eq 'con' } @{$output->{nodes}};
@cons = (@cons, @{$content->{nodes}});
}
[ map { $_->{name} } @cons ]
sub get_unused_workspace {
my @names = get_workspace_names();
my $tmp;
- do { $tmp = tmpnam() } while ($tmp ~~ @names);
+ do { $tmp = tmpnam() } while ((scalar grep { $_ eq $tmp } @names) > 0);
$tmp
}
@{$tree->{nodes}};
die "BUG: Could not find output $args{output}" unless defined($output);
# Get the focused workspace on that output and switch to it.
- my $content = first { $_->{type} == 2 } @{$output->{nodes}};
+ my $content = first { $_->{type} eq 'con' } @{$output->{nodes}};
my $focused = $content->{focus}->[0];
my $workspace = first { $_->{id} == $focused } @{$content->{nodes}};
$workspace = $workspace->{name};
my @workspaces;
for my $output (@outputs) {
# get the first CT_CON of each output
- my $content = first { $_->{type} == 2 } @{$output->{nodes}};
+ my $content = first { $_->{type} eq 'con' } @{$output->{nodes}};
@workspaces = (@workspaces, @{$content->{nodes}});
}
for my $output (@outputs) {
if (!defined($which)) {
@docked = (@docked, map { @{$_->{nodes}} }
- grep { $_->{type} == 5 }
+ grep { $_->{type} eq 'dockarea' }
@{$output->{nodes}});
} elsif ($which eq 'top') {
- my $first = first { $_->{type} == 5 } @{$output->{nodes}};
+ my $first = first { $_->{type} eq 'dockarea' } @{$output->{nodes}};
@docked = (@docked, @{$first->{nodes}}) if defined($first);
} elsif ($which eq 'bottom') {
- my @matching = grep { $_->{type} == 5 } @{$output->{nodes}};
+ my @matching = grep { $_->{type} eq 'dockarea' } @{$output->{nodes}};
my $last = $matching[-1];
@docked = (@docked, @{$last->{nodes}}) if defined($last);
}
=cut
sub workspace_exists {
my ($name) = @_;
- ($name ~~ @{get_workspace_names()})
+ (scalar grep { $_ eq $name } @{get_workspace_names()}) > 0;
}
=head2 focused_ws
my $tree = $i3->get_tree->recv;
my $focused = $tree->{focus}->[0];
my $output = first { $_->{id} == $focused } @{$tree->{nodes}};
- my $content = first { $_->{type} == 2 } @{$output->{nodes}};
+ my $content = first { $_->{type} eq 'con' } @{$output->{nodes}};
my $first = first { $_->{fullscreen_mode} == 1 } @{$content->{nodes}};
return $first->{name}
}