aboutsummaryrefslogtreecommitdiff
path: root/AnyEvent-I3
diff options
context:
space:
mode:
authorMichael Stapelberg <michael@stapelberg.de>2017-09-24 15:40:30 +0200
committerMichael Stapelberg <michael@stapelberg.de>2017-09-30 11:41:57 +0200
commitce21de8ddea4468ffcaf966da763d02d4dbd1e8d (patch)
tree8ccd74000e6ebe8f94dbba04251954f1885aedb6 /AnyEvent-I3
parent14c8cf86223a8f2e5863113ed13efcff8eca257b (diff)
downloadi3-ce21de8ddea4468ffcaf966da763d02d4dbd1e8d.tar.gz
i3-ce21de8ddea4468ffcaf966da763d02d4dbd1e8d.zip
Implement the tick event
This makes our tests less flaky, shorter, and more readable. fixes #2988
Diffstat (limited to 'AnyEvent-I3')
-rw-r--r--AnyEvent-I3/lib/AnyEvent/I3.pm16
1 files changed, 15 insertions, 1 deletions
diff --git a/AnyEvent-I3/lib/AnyEvent/I3.pm b/AnyEvent-I3/lib/AnyEvent/I3.pm
index 08b1c0a7..198c41c9 100644
--- a/AnyEvent-I3/lib/AnyEvent/I3.pm
+++ b/AnyEvent-I3/lib/AnyEvent/I3.pm
@@ -99,11 +99,12 @@ use constant TYPE_GET_BAR_CONFIG => 6;
use constant TYPE_GET_VERSION => 7;
use constant TYPE_GET_BINDING_MODES => 8;
use constant TYPE_GET_CONFIG => 9;
+use constant TYPE_SEND_TICK => 10;
our %EXPORT_TAGS = ( 'all' => [
qw(i3 TYPE_RUN_COMMAND TYPE_COMMAND TYPE_GET_WORKSPACES TYPE_SUBSCRIBE TYPE_GET_OUTPUTS
TYPE_GET_TREE TYPE_GET_MARKS TYPE_GET_BAR_CONFIG TYPE_GET_VERSION
- TYPE_GET_BINDING_MODES TYPE_GET_CONFIG)
+ TYPE_GET_BINDING_MODES TYPE_GET_CONFIG TYPE_SEND_TICK)
] );
our @EXPORT_OK = ( @{ $EXPORT_TAGS{all} } );
@@ -120,6 +121,7 @@ my %events = (
barconfig_update => ($event_mask | 4),
binding => ($event_mask | 5),
shutdown => ($event_mask | 6),
+ tick => ($event_mask | 7),
_error => 0xFFFFFFFF,
);
@@ -519,6 +521,18 @@ sub get_config {
$self->message(TYPE_GET_CONFIG);
}
+=head2 send_tick
+
+Sends a tick event. Requires i3 >= 4.15
+
+=cut
+sub send_tick {
+ my ($self, $payload) = @_;
+
+ $self->_ensure_connection;
+
+ $self->message(TYPE_SEND_TICK, $payload);
+}
=head2 command($content)