Let "focus" report success depending on whether a window was matched.

fixes #1809
This commit is contained in:
Ingo Bürk 2015-09-11 08:26:33 +02:00
parent c9b6ec71aa
commit f31e476b28
2 changed files with 8 additions and 43 deletions

View File

@ -1507,8 +1507,7 @@ void cmd_focus(I3_CMD) {
count);
cmd_output->needs_tree_render = true;
// XXX: default reply for now, make this a better reply
ysuccess(true);
ysuccess(count > 0);
}
/*

View File

@ -60,48 +60,14 @@ is($focus, $bottom->id, "Bottom window focused (wrapping to the top works)");
$focus = focus_after('focus down');
is($focus, $top->id, "Top window focused (wrapping to the bottom works)");
###############################################
# Test focus with empty containers and colspan
###############################################
#####################################################################
# Test focus is only successful if there was a window that could be
# matched.
#####################################################################
#my $otmp = get_unused_workspace();
#$i3->command("workspace $otmp")->recv;
#
#$top = i3test::open_standard_window($x);
#$bottom = i3test::open_standard_window($x);
#sleep 0.25;
#
#$focus = focus_after("mj");
#$focus = focus_after("mh");
#$focus = focus_after("k");
#is($focus, $bottom->id, "Selecting top window without snapping doesn't work");
#
#$focus = focus_after("sl");
#is($focus, $bottom->id, "Bottom window focused");
#
#$focus = focus_after("k");
#is($focus, $top->id, "Top window focused");
#
## Same thing, but left/right instead of top/bottom
#
#my $o2tmp = get_unused_workspace();
#$i3->command("workspace $o2tmp")->recv;
#
#my $left = i3test::open_standard_window($x);
#my $right = i3test::open_standard_window($x);
#sleep 0.25;
#
#$focus = focus_after("ml");
#$focus = focus_after("h");
#$focus = focus_after("mk");
#$focus = focus_after("l");
#is($focus, $left->id, "Selecting right window without snapping doesn't work");
#
#$focus = focus_after("sj");
#is($focus, $left->id, "left window focused");
#
#$focus = focus_after("l");
#is($focus, $right->id, "right window focused");
my $result = cmd '[con_mark=__does_not_exist] focus';
is($result->[0]->{success}, 0, 'focus is unsuccessful if no window was matched');
#####################################################################
done_testing;