sub wait_for_map {
my ($win) = @_;
my $id = (blessed($win) && $win->isa('X11::XCB::Window')) ? $win->id : $win;
- wait_for_event 2, sub {
+ wait_for_event 4, sub {
$_[0]->{response_type} == MAP_NOTIFY and $_[0]->{window} == $id
};
}
sub wait_for_unmap {
my ($win) = @_;
# my $id = (blessed($win) && $win->isa('X11::XCB::Window')) ? $win->id : $win;
- wait_for_event 2, sub {
+ wait_for_event 4, sub {
$_[0]->{response_type} == UNMAP_NOTIFY # and $_[0]->{window} == $id
};
sync_with_i3();
$args{name} //= 'Window ' . counter_window();
my $window = $x->root->create_child(%args);
+ $window->add_hint('input');
if ($before_map) {
# TODO: investigate why _create is not needed
=head2 cmd($command)
-Sends the specified command to i3.
+Sends the specified command to i3 and returns the output.
my $ws = unused_workspace;
cmd "workspace $ws";
# event mask, it will get the ClientMessage.
$x->send_event(0, $root, EVENT_MASK_SUBSTRUCTURE_REDIRECT, $msg);
+ return $myrnd if $args{dont_wait_for_event};
+
# now wait until the reply is here
- return wait_for_event 2, sub {
+ return wait_for_event 4, sub {
my ($event) = @_;
# TODO: const
return 0 unless $event->{response_type} == 161;
=cut
sub get_socket_path {
my ($cache) = @_;
- $cache ||= 1;
+ $cache //= 1;
if ($cache && defined($_cached_socket_path)) {
return $_cached_socket_path;