]> git.sur5r.net Git - i3/i3/commitdiff
introduce get_tree request (tree branch only)
authorMichael Stapelberg <michael@stapelberg.de>
Sun, 21 Nov 2010 20:52:43 +0000 (21:52 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Sat, 19 Aug 2017 16:13:19 +0000 (18:13 +0200)
lib/AnyEvent/I3.pm

index 61486488929c49d757a952880ebb9865c7e84613..d191241c1cab323354d7f60a3c975edcaa1cc831 100644 (file)
@@ -15,11 +15,11 @@ AnyEvent::I3 - communicate with the i3 window manager
 
 =cut
 
-our $VERSION = '0.06';
+our $VERSION = '0.07';
 
 =head1 VERSION
 
-Version 0.06
+Version 0.07
 
 =head1 SYNOPSIS
 
@@ -64,9 +64,10 @@ use constant TYPE_COMMAND => 0;
 use constant TYPE_GET_WORKSPACES => 1;
 use constant TYPE_SUBSCRIBE => 2;
 use constant TYPE_GET_OUTPUTS => 3;
+use constant TYPE_GET_TREE => 4;
 
 our %EXPORT_TAGS = ( 'all' => [
-    qw(i3 TYPE_COMMAND TYPE_GET_WORKSPACES TYPE_SUBSCRIBE TYPE_GET_OUTPUTS)
+    qw(i3 TYPE_COMMAND TYPE_GET_WORKSPACES TYPE_SUBSCRIBE TYPE_GET_OUTPUTS TYPE_GET_TREE)
 ] );
 
 our @EXPORT_OK = ( @{ $EXPORT_TAGS{all} } );
@@ -322,6 +323,23 @@ sub get_outputs {
     $self->message(TYPE_GET_OUTPUTS)
 }
 
+=head2 get_tree
+
+Gets the layout tree from i3 (tree branch only).
+
+    my $tree = i3->get_tree->recv;
+    say Dumper($tree);
+
+=cut
+sub get_tree {
+    my ($self) = @_;
+
+    $self->_ensure_connection;
+
+    $self->message(TYPE_GET_TREE)
+}
+
+
 =head2 command($content)
 
 Makes i3 execute the given command