Make t/156-fullscreen-focus.t easier to work with
- Add routine that will refocus the expected window on test failure. Thus, failure on one test will not make others fail. - Remove some redundant commands, prefer fresh_workspace for screen changing. - Kill previous windows between sections if the next section does not depend on the previous layout.
This commit is contained in:
parent
484854d52f
commit
68628e153f
|
@ -29,70 +29,55 @@ EOT
|
||||||
# | S1 | S2 |
|
# | S1 | S2 |
|
||||||
# +----+----+
|
# +----+----+
|
||||||
|
|
||||||
my $tmp = fresh_workspace;
|
sub verify_focus {
|
||||||
|
# Report original line
|
||||||
|
local $Test::Builder::Level = $Test::Builder::Level + 1;
|
||||||
|
|
||||||
|
my ($expected, $msg) = @_;
|
||||||
|
$expected = $expected->id;
|
||||||
|
|
||||||
|
# Ensure the expected focus if the test fails.
|
||||||
|
cmd "[id=$expected] focus" unless is($x->input_focus, $expected, $msg);
|
||||||
|
}
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Open the left window.
|
# Verify that window opened behind fullscreen window will get focus after the
|
||||||
|
# fullscreen window gets moved to a different workspace.
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
my $left = open_window({ background_color => '#ff0000' });
|
fresh_workspace;
|
||||||
|
my $left = open_window;
|
||||||
is($x->input_focus, $left->id, 'left window focused');
|
verify_focus($left, 'left window focused');
|
||||||
|
|
||||||
diag("left = " . $left->id);
|
diag("left = " . $left->id);
|
||||||
|
|
||||||
################################################################################
|
my $right = open_window;
|
||||||
# Open the right window.
|
cmd 'fullscreen';
|
||||||
################################################################################
|
|
||||||
|
|
||||||
my $right = open_window({ background_color => '#00ff00' });
|
|
||||||
|
|
||||||
diag("right = " . $right->id);
|
diag("right = " . $right->id);
|
||||||
|
|
||||||
################################################################################
|
# Open a third window. Since we're fullscreen, the window won't be mapped, so
|
||||||
# Set the right window to fullscreen.
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
cmd 'nop setting fullscreen';
|
|
||||||
cmd 'fullscreen';
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# Open a third window. Since we're fullscreen, the window won't be # mapped, so
|
|
||||||
# don't wait for it to be mapped. Instead, just send the map request and sync
|
# don't wait for it to be mapped. Instead, just send the map request and sync
|
||||||
# with i3 to make sure i3 recognizes it.
|
# with i3 to make sure i3 recognizes it.
|
||||||
################################################################################
|
my $third = open_window({dont_map => 1});
|
||||||
|
|
||||||
my $third = open_window({
|
|
||||||
background_color => '#0000ff',
|
|
||||||
name => 'Third window',
|
|
||||||
dont_map => 1,
|
|
||||||
});
|
|
||||||
|
|
||||||
$third->map;
|
$third->map;
|
||||||
|
|
||||||
sync_with_i3;
|
sync_with_i3;
|
||||||
|
|
||||||
diag("third = " . $third->id);
|
diag("third = " . $third->id);
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# Move the window to a different workspace, and verify that the third window now
|
# Move the window to a different workspace, and verify that the third window now
|
||||||
# gets focused in the current workspace.
|
# gets focused in the current workspace.
|
||||||
################################################################################
|
|
||||||
|
|
||||||
my $tmp2 = get_unused_workspace;
|
my $tmp2 = get_unused_workspace;
|
||||||
|
|
||||||
cmd "move workspace $tmp2";
|
cmd "move workspace $tmp2";
|
||||||
|
verify_focus($third, 'third window focused');
|
||||||
|
|
||||||
is($x->input_focus, $third->id, 'third window focused');
|
kill_all_windows;
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Ensure that moving a window to a workspace which has a fullscreen window does
|
# Ensure that moving a window to a workspace which has a fullscreen window does
|
||||||
# not focus it (otherwise the user cannot get out of fullscreen mode anymore).
|
# not focus it (otherwise the user cannot get out of fullscreen mode anymore).
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
$tmp = fresh_workspace;
|
my $tmp = fresh_workspace;
|
||||||
|
|
||||||
my $fullscreen_window = open_window;
|
open_window;
|
||||||
cmd 'fullscreen';
|
cmd 'fullscreen';
|
||||||
|
|
||||||
my $nodes = get_ws_content($tmp);
|
my $nodes = get_ws_content($tmp);
|
||||||
|
@ -111,32 +96,18 @@ is(scalar @$nodes, 2, 'precisely two windows');
|
||||||
is($nodes->[0]->{id}, $old_id, 'id unchanged');
|
is($nodes->[0]->{id}, $old_id, 'id unchanged');
|
||||||
is($nodes->[0]->{focused}, 1, 'fullscreen window focused');
|
is($nodes->[0]->{focused}, 1, 'fullscreen window focused');
|
||||||
|
|
||||||
|
kill_all_windows;
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Ensure it's possible to change focus if it doesn't escape the fullscreen
|
# Ensure it's possible to change focus if it doesn't escape the fullscreen
|
||||||
# container with fullscreen global. We can't even focus a container in a
|
# container with fullscreen global. We can't even focus a container in a
|
||||||
# different workspace.
|
# different workspace.
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
cmd 'fullscreen';
|
$tmp = fresh_workspace(output => 1);
|
||||||
|
|
||||||
# Focus screen 1
|
|
||||||
sync_with_i3;
|
|
||||||
$x->root->warp_pointer(1025, 0);
|
|
||||||
sync_with_i3;
|
|
||||||
|
|
||||||
$tmp = fresh_workspace;
|
|
||||||
cmd "workspace $tmp";
|
|
||||||
my $diff_ws = open_window;
|
my $diff_ws = open_window;
|
||||||
|
|
||||||
# Focus screen 0
|
$tmp2 = fresh_workspace(output => 0);
|
||||||
sync_with_i3;
|
|
||||||
$x->root->warp_pointer(0, 0);
|
|
||||||
sync_with_i3;
|
|
||||||
|
|
||||||
$tmp2 = fresh_workspace;
|
|
||||||
cmd "workspace $tmp2";
|
|
||||||
cmd 'split h';
|
|
||||||
|
|
||||||
$left = open_window;
|
$left = open_window;
|
||||||
my $right1 = open_window;
|
my $right1 = open_window;
|
||||||
cmd 'split v';
|
cmd 'split v';
|
||||||
|
@ -146,97 +117,99 @@ cmd 'focus parent';
|
||||||
cmd 'fullscreen global';
|
cmd 'fullscreen global';
|
||||||
|
|
||||||
cmd '[id="' . $right1->id . '"] focus';
|
cmd '[id="' . $right1->id . '"] focus';
|
||||||
is($x->input_focus, $right1->id, 'upper right window focused');
|
verify_focus($right1, 'upper right window focused');
|
||||||
|
|
||||||
cmd '[id="' . $right2->id . '"] focus';
|
cmd '[id="' . $right2->id . '"] focus';
|
||||||
is($x->input_focus, $right2->id, 'bottom right window focused');
|
verify_focus($right2, 'bottom right window focused');
|
||||||
|
|
||||||
cmd 'focus parent';
|
cmd 'focus parent';
|
||||||
isnt($x->input_focus, $right2->id, 'bottom right window no longer focused');
|
isnt($x->input_focus, $right2->id, 'bottom right window no longer focused');
|
||||||
|
|
||||||
cmd 'focus child';
|
cmd 'focus child';
|
||||||
is($x->input_focus, $right2->id, 'bottom right window focused again');
|
verify_focus($right2, 'bottom right window focused again');
|
||||||
|
|
||||||
cmd 'focus up';
|
cmd 'focus up';
|
||||||
is($x->input_focus, $right1->id, 'allowed focus up');
|
verify_focus($right1, 'allowed focus up');
|
||||||
|
|
||||||
cmd 'focus down';
|
cmd 'focus down';
|
||||||
is($x->input_focus, $right2->id, 'allowed focus down');
|
verify_focus($right2, 'allowed focus down');
|
||||||
|
|
||||||
cmd 'focus left';
|
cmd 'focus left';
|
||||||
is($x->input_focus, $right2->id, 'prevented focus left');
|
verify_focus($right2, 'prevented focus left');
|
||||||
|
|
||||||
cmd 'focus right';
|
cmd 'focus right';
|
||||||
is($x->input_focus, $right2->id, 'prevented focus right');
|
verify_focus($right2, 'prevented focus right');
|
||||||
|
|
||||||
cmd 'focus down';
|
cmd 'focus down';
|
||||||
is($x->input_focus, $right1->id, 'allowed focus wrap (down)');
|
verify_focus($right1, 'allowed focus wrap (down)');
|
||||||
|
|
||||||
cmd 'focus up';
|
cmd 'focus up';
|
||||||
is($x->input_focus, $right2->id, 'allowed focus wrap (up)');
|
verify_focus($right2, 'allowed focus wrap (up)');
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
# (depends on previous layout)
|
||||||
# Same tests when we're in non-global fullscreen mode. It should now be possible
|
# Same tests when we're in non-global fullscreen mode. It should now be possible
|
||||||
# to focus a container in a different workspace.
|
# to focus a container in a different workspace.
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
cmd 'focus parent';
|
cmd 'focus parent';
|
||||||
cmd 'fullscreen global';
|
cmd 'fullscreen disable';
|
||||||
cmd 'fullscreen';
|
cmd 'fullscreen';
|
||||||
|
|
||||||
cmd '[id="' . $right1->id . '"] focus';
|
cmd '[id="' . $right1->id . '"] focus';
|
||||||
is($x->input_focus, $right1->id, 'upper right window focused');
|
verify_focus($right1, 'upper right window focused');
|
||||||
|
|
||||||
cmd '[id="' . $right2->id . '"] focus';
|
cmd '[id="' . $right2->id . '"] focus';
|
||||||
is($x->input_focus, $right2->id, 'bottom right window focused');
|
verify_focus($right2, 'bottom right window focused');
|
||||||
|
|
||||||
cmd 'focus parent';
|
cmd 'focus parent';
|
||||||
isnt($x->input_focus, $right2->id, 'bottom right window no longer focused');
|
isnt($x->input_focus, $right2->id, 'bottom right window no longer focused');
|
||||||
|
|
||||||
cmd 'focus child';
|
cmd 'focus child';
|
||||||
is($x->input_focus, $right2->id, 'bottom right window focused again');
|
verify_focus($right2, 'bottom right window focused again');
|
||||||
|
|
||||||
cmd 'focus up';
|
cmd 'focus up';
|
||||||
is($x->input_focus, $right1->id, 'allowed focus up');
|
verify_focus($right1, 'allowed focus up');
|
||||||
|
|
||||||
cmd 'focus down';
|
cmd 'focus down';
|
||||||
is($x->input_focus, $right2->id, 'allowed focus down');
|
verify_focus($right2, 'allowed focus down');
|
||||||
|
|
||||||
cmd 'focus down';
|
cmd 'focus down';
|
||||||
is($x->input_focus, $right1->id, 'allowed focus wrap (down)');
|
verify_focus($right1, 'allowed focus wrap (down)');
|
||||||
|
|
||||||
cmd 'focus up';
|
cmd 'focus up';
|
||||||
is($x->input_focus, $right2->id, 'allowed focus wrap (up)');
|
verify_focus($right2, 'allowed focus wrap (up)');
|
||||||
|
|
||||||
cmd 'focus left';
|
cmd 'focus left';
|
||||||
is($x->input_focus, $right2->id, 'focus left wrapped (no-op)');
|
verify_focus($right2, 'focus left wrapped (no-op)');
|
||||||
|
|
||||||
cmd 'focus right';
|
cmd 'focus right';
|
||||||
is($x->input_focus, $diff_ws->id, 'allowed focus change to different ws');
|
verify_focus($diff_ws, 'allowed focus change to different ws');
|
||||||
|
|
||||||
cmd 'focus left';
|
cmd 'focus left';
|
||||||
is($x->input_focus, $right2->id, 'focused back into fullscreen container');
|
verify_focus($right2, 'focused back into fullscreen container');
|
||||||
|
|
||||||
cmd '[id="' . $diff_ws->id . '"] focus';
|
cmd '[id="' . $diff_ws->id . '"] focus';
|
||||||
is($x->input_focus, $diff_ws->id, 'allowed focus change to different ws by id');
|
verify_focus($diff_ws, 'allowed focus change to different ws by id');
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
# (depends on previous layout)
|
||||||
# More testing of the interaction between wrapping and the fullscreen focus
|
# More testing of the interaction between wrapping and the fullscreen focus
|
||||||
# restrictions.
|
# restrictions.
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
cmd '[id="' . $right1->id . '"] focus';
|
cmd '[id="' . $right1->id . '"] focus';
|
||||||
is($x->input_focus, $right1->id, 'upper right window focused');
|
verify_focus($right1, 'upper right window focused');
|
||||||
|
|
||||||
cmd 'focus parent';
|
cmd 'focus parent';
|
||||||
cmd 'fullscreen';
|
cmd 'fullscreen disable';
|
||||||
cmd 'focus child';
|
cmd 'focus child';
|
||||||
|
|
||||||
cmd 'split v';
|
cmd 'split v';
|
||||||
my $right12 = open_window;
|
my $right12 = open_window;
|
||||||
|
|
||||||
cmd 'focus down';
|
cmd 'focus down';
|
||||||
is($x->input_focus, $right2->id, 'bottom right window focused');
|
verify_focus($right2, 'bottom right window focused');
|
||||||
|
|
||||||
cmd 'split v';
|
cmd 'split v';
|
||||||
my $right22 = open_window;
|
my $right22 = open_window;
|
||||||
|
@ -246,18 +219,19 @@ cmd 'fullscreen';
|
||||||
cmd 'focus child';
|
cmd 'focus child';
|
||||||
|
|
||||||
cmd 'focus down';
|
cmd 'focus down';
|
||||||
is($x->input_focus, $right2->id, 'focus did not leave parent container (1)');
|
verify_focus($right2, 'focus did not leave parent container (1)');
|
||||||
|
|
||||||
cmd 'focus down';
|
cmd 'focus down';
|
||||||
is($x->input_focus, $right22->id, 'focus did not leave parent container (2)');
|
verify_focus($right22, 'focus did not leave parent container (2)');
|
||||||
|
|
||||||
cmd 'focus up';
|
cmd 'focus up';
|
||||||
is($x->input_focus, $right2->id, 'focus did not leave parent container (3)');
|
verify_focus($right2, 'focus did not leave parent container (3)');
|
||||||
|
|
||||||
cmd 'focus up';
|
cmd 'focus up';
|
||||||
is($x->input_focus, $right22->id, 'focus did not leave parent container (4)');
|
verify_focus($right22, 'focus did not leave parent container (4)');
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
# (depends on previous layout)
|
||||||
# Ensure that moving in a direction doesn't violate the focus restrictions.
|
# Ensure that moving in a direction doesn't violate the focus restrictions.
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
@ -281,6 +255,7 @@ cmd 'move up';
|
||||||
verify_move(2, 'prevented move up');
|
verify_move(2, 'prevented move up');
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
# (depends on previous layout)
|
||||||
# Moving to a different workspace is allowed with per-output fullscreen
|
# Moving to a different workspace is allowed with per-output fullscreen
|
||||||
# containers.
|
# containers.
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -296,6 +271,7 @@ cmd "move to workspace prev";
|
||||||
verify_move(1, 'did not prevent move to workspace by position');
|
verify_move(1, 'did not prevent move to workspace by position');
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
# (depends on previous layout)
|
||||||
# Ensure that is not allowed with global fullscreen containers.
|
# Ensure that is not allowed with global fullscreen containers.
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
@ -304,7 +280,7 @@ cmd "move to workspace $tmp2";
|
||||||
cmd "workspace $tmp2";
|
cmd "workspace $tmp2";
|
||||||
|
|
||||||
cmd 'focus parent';
|
cmd 'focus parent';
|
||||||
cmd 'fullscreen';
|
cmd 'fullscreen disable';
|
||||||
cmd 'fullscreen global';
|
cmd 'fullscreen global';
|
||||||
cmd 'focus child';
|
cmd 'focus child';
|
||||||
|
|
||||||
|
@ -314,6 +290,8 @@ verify_move(2, 'prevented move to workspace by name');
|
||||||
cmd "move to workspace prev";
|
cmd "move to workspace prev";
|
||||||
verify_move(2, 'prevented move to workspace by position');
|
verify_move(2, 'prevented move to workspace by position');
|
||||||
|
|
||||||
|
kill_all_windows;
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Ensure it's possible to focus a window using the focus command despite
|
# Ensure it's possible to focus a window using the focus command despite
|
||||||
# fullscreen window blocking it. Fullscreen window should lose its fullscreen
|
# fullscreen window blocking it. Fullscreen window should lose its fullscreen
|
||||||
|
@ -321,96 +299,94 @@ verify_move(2, 'prevented move to workspace by position');
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# first & second tiling, focus using id
|
# first & second tiling, focus using id
|
||||||
kill_all_windows;
|
|
||||||
|
|
||||||
$tmp = fresh_workspace;
|
$tmp = fresh_workspace;
|
||||||
my $first = open_window;
|
my $first = open_window;
|
||||||
my $second = open_window;
|
my $second = open_window;
|
||||||
cmd 'fullscreen';
|
cmd 'fullscreen';
|
||||||
is($x->input_focus, $second->id, 'fullscreen window focused');
|
verify_focus($second, 'fullscreen window focused');
|
||||||
is_num_fullscreen($tmp, 1, '1 fullscreen window');
|
is_num_fullscreen($tmp, 1, '1 fullscreen window');
|
||||||
|
|
||||||
cmd '[id="'. $first->id .'"] focus';
|
cmd '[id="' . $first->id . '"] focus';
|
||||||
sync_with_i3;
|
sync_with_i3;
|
||||||
|
|
||||||
is($x->input_focus, $first->id, 'correctly focused using id');
|
verify_focus($first, 'correctly focused using id');
|
||||||
is_num_fullscreen($tmp, 0, 'no fullscreen windows');
|
is_num_fullscreen($tmp, 0, 'no fullscreen windows');
|
||||||
|
|
||||||
# first floating, second tiling, focus using 'focus floating'
|
|
||||||
kill_all_windows;
|
kill_all_windows;
|
||||||
|
|
||||||
|
# first floating, second tiling, focus using 'focus floating'
|
||||||
$tmp = fresh_workspace;
|
$tmp = fresh_workspace;
|
||||||
$first = open_floating_window;
|
$first = open_floating_window;
|
||||||
$second = open_window;
|
$second = open_window;
|
||||||
cmd 'fullscreen';
|
cmd 'fullscreen';
|
||||||
is($x->input_focus, $second->id, 'fullscreen window focused');
|
verify_focus($second, 'fullscreen window focused');
|
||||||
is_num_fullscreen($tmp, 1, '1 fullscreen window');
|
is_num_fullscreen($tmp, 1, '1 fullscreen window');
|
||||||
|
|
||||||
cmd 'focus floating';
|
cmd 'focus floating';
|
||||||
sync_with_i3;
|
sync_with_i3;
|
||||||
|
|
||||||
is($x->input_focus, $first->id, 'correctly focused using focus floating');
|
verify_focus($first, 'correctly focused using focus floating');
|
||||||
is_num_fullscreen($tmp, 0, 'no fullscreen windows');
|
is_num_fullscreen($tmp, 0, 'no fullscreen windows');
|
||||||
|
|
||||||
# first tiling, second floating, focus using 'focus tiling'
|
|
||||||
kill_all_windows;
|
kill_all_windows;
|
||||||
|
|
||||||
|
# first tiling, second floating, focus using 'focus tiling'
|
||||||
$tmp = fresh_workspace;
|
$tmp = fresh_workspace;
|
||||||
$first = open_window;
|
$first = open_window;
|
||||||
$second = open_floating_window;
|
$second = open_floating_window;
|
||||||
cmd 'fullscreen';
|
cmd 'fullscreen';
|
||||||
is($x->input_focus, $second->id, 'fullscreen window focused');
|
verify_focus($second, 'fullscreen window focused');
|
||||||
is_num_fullscreen($tmp, 1, '1 fullscreen window');
|
is_num_fullscreen($tmp, 1, '1 fullscreen window');
|
||||||
|
|
||||||
cmd 'focus tiling';
|
cmd 'focus tiling';
|
||||||
sync_with_i3;
|
sync_with_i3;
|
||||||
|
|
||||||
is($x->input_focus, $first->id, 'correctly focused using focus tiling');
|
verify_focus($first, 'correctly focused using focus tiling');
|
||||||
is_num_fullscreen($tmp, 0, 'no fullscreen windows');
|
is_num_fullscreen($tmp, 0, 'no fullscreen windows');
|
||||||
|
|
||||||
|
kill_all_windows;
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# When the fullscreen window is in an other workspace it should maintain its
|
# When the fullscreen window is in an other workspace it should maintain its
|
||||||
# fullscreen mode since it's not blocking the window to be focused.
|
# fullscreen mode since it's not blocking the window to be focused.
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
kill_all_windows;
|
|
||||||
|
|
||||||
$tmp = fresh_workspace;
|
$tmp = fresh_workspace;
|
||||||
$first = open_window;
|
$first = open_window;
|
||||||
|
|
||||||
$tmp2 = fresh_workspace;
|
$tmp2 = fresh_workspace;
|
||||||
$second = open_window;
|
$second = open_window;
|
||||||
cmd 'fullscreen';
|
cmd 'fullscreen';
|
||||||
is($x->input_focus, $second->id, 'fullscreen window focused');
|
verify_focus($second, 'fullscreen window focused');
|
||||||
is_num_fullscreen($tmp2, 1, '1 fullscreen window');
|
is_num_fullscreen($tmp2, 1, '1 fullscreen window');
|
||||||
|
|
||||||
cmd '[id="'. $first->id .'"] focus';
|
cmd '[id="' . $first->id . '"] focus';
|
||||||
sync_with_i3;
|
sync_with_i3;
|
||||||
|
|
||||||
is($x->input_focus, $first->id, 'correctly focused using focus id');
|
verify_focus($first, 'correctly focused using focus id');
|
||||||
is_num_fullscreen($tmp, 0, 'no fullscreen windows on first workspace');
|
is_num_fullscreen($tmp, 0, 'no fullscreen windows on first workspace');
|
||||||
is_num_fullscreen($tmp2, 1, 'still one fullscreen window on second workspace');
|
is_num_fullscreen($tmp2, 1, 'still one fullscreen window on second workspace');
|
||||||
|
|
||||||
|
kill_all_windows;
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# But a global window in another workspace is blocking the window to be focused.
|
# But a global window in another workspace is blocking the window to be focused.
|
||||||
# Ensure that it loses its fullscreen mode.
|
# Ensure that it loses its fullscreen mode.
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
kill_all_windows;
|
|
||||||
|
|
||||||
$tmp = fresh_workspace;
|
$tmp = fresh_workspace;
|
||||||
$first = open_window;
|
$first = open_window;
|
||||||
|
|
||||||
$tmp2 = fresh_workspace;
|
$tmp2 = fresh_workspace;
|
||||||
$second = open_window;
|
$second = open_window;
|
||||||
cmd 'fullscreen global';
|
cmd 'fullscreen global';
|
||||||
is($x->input_focus, $second->id, 'global window focused');
|
verify_focus($second, 'global window focused');
|
||||||
is_num_fullscreen($tmp2, 1, '1 fullscreen window');
|
is_num_fullscreen($tmp2, 1, '1 fullscreen window');
|
||||||
|
|
||||||
cmd '[id="'. $first->id .'"] focus';
|
cmd '[id="' . $first->id . '"] focus';
|
||||||
sync_with_i3;
|
sync_with_i3;
|
||||||
|
|
||||||
is($x->input_focus, $first->id, 'correctly focused using focus id');
|
verify_focus($first, 'correctly focused using focus id');
|
||||||
is_num_fullscreen($tmp2, 0, 'no fullscreen windows');
|
is_num_fullscreen($tmp2, 0, 'no fullscreen windows');
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue