AnyEvent-I3

 view release on metacpan or  search on metacpan

lib/AnyEvent/I3.pm  view on Meta::CPAN

=cut
sub get_version {
    my ($self) = @_;

    $self->_ensure_connection;

    my $cv = AnyEvent->condvar;

    my $version_cv = $self->message(TYPE_GET_VERSION);
    my $timeout;
    $timeout = AnyEvent->timer(
        after => 1,
        cb => sub {
            warn "Falling back to i3 --version since the running i3 doesn’t support GET_VERSION yet.";
            my $version = _call_i3('--version');
            $version =~ s/^i3 version //;
            my $patch = 0;
            my ($major, $minor) = ($version =~ /^([0-9]+)\.([0-9]+)/);
            if ($version =~ /^[0-9]+\.[0-9]+\.([0-9]+)/) {
                $patch = $1;
            }

t/01-workspaces.t  view on Meta::CPAN

use AnyEvent::I3;
use AnyEvent;

my $i3 = i3();
my $cv = AnyEvent->condvar;

# Try to connect to i3
$i3->connect->cb(sub { my ($v) = @_; $cv->send($v->recv) });

# But cancel if we are not connected after 0.5 seconds
my $t = AnyEvent->timer(after => 0.5, cb => sub { $cv->send(0) });
my $connected = $cv->recv;

SKIP: {
    skip 'No connection to i3', 3 unless $connected;

    my $workspaces = $i3->message(1)->recv;
    isa_ok($workspaces, 'ARRAY');

    ok(@{$workspaces} > 0, 'More than zero workspaces found');

t/02-sugar.t  view on Meta::CPAN

use AnyEvent::I3;
use AnyEvent;

my $i3 = i3();
my $cv = AnyEvent->condvar;

# Try to connect to i3
$i3->connect->cb(sub { my ($v) = @_; $cv->send($v->recv) });

# But cancel if we are not connected after 0.5 seconds
my $t = AnyEvent->timer(after => 0.5, cb => sub { $cv->send(0) });
my $connected = $cv->recv;

SKIP: {
    skip 'No connection to i3', 3 unless $connected;

    my $workspaces = i3->get_workspaces->recv;
    isa_ok($workspaces, 'ARRAY');

    ok(@{$workspaces} > 0, 'More than zero workspaces found');



( run in 1.344 second using v1.01-cache-2.11-cpan-49f99fa48dc )