Merge branch 'fix-floating-resize'
This commit is contained in:
commit
04a4d7c44a
|
@ -785,12 +785,12 @@ resize:
|
|||
focused->parent->rect.y -= px;
|
||||
focused->parent->rect.height += px;
|
||||
} else if (direction == TOK_DOWN) {
|
||||
focused->rect.height += px;
|
||||
focused->parent->rect.height += px;
|
||||
} else if (direction == TOK_LEFT) {
|
||||
focused->rect.x -= px;
|
||||
focused->rect.width += px;
|
||||
focused->parent->rect.x -= px;
|
||||
focused->parent->rect.width += px;
|
||||
} else {
|
||||
focused->rect.width += px;
|
||||
focused->parent->rect.width += px;
|
||||
}
|
||||
} else {
|
||||
LOG("tiling resize\n");
|
||||
|
|
|
@ -46,4 +46,75 @@ cmd 'split h';
|
|||
is($nodes->[0]->{percent}, 0.25, 'top window got only 25%');
|
||||
is($nodes->[1]->{percent}, 0.75, 'bottom window got 75%');
|
||||
|
||||
############################################################
|
||||
# checks that resizing floating windows works
|
||||
############################################################
|
||||
|
||||
$tmp = fresh_workspace;
|
||||
|
||||
$top = open_standard_window($x);
|
||||
sleep 0.25;
|
||||
|
||||
cmd 'floating enable';
|
||||
|
||||
my @content = @{get_ws($tmp)->{floating_nodes}};
|
||||
cmp_ok(@content, '==', 1, 'one floating node on this ws');
|
||||
|
||||
# up
|
||||
my $oldrect = $content[0]->{rect};
|
||||
|
||||
cmd 'resize grow up 10 px or 25 ppt';
|
||||
|
||||
@content = @{get_ws($tmp)->{floating_nodes}};
|
||||
cmp_ok($content[0]->{rect}->{y}, '<', $oldrect->{y}, 'y smaller than before');
|
||||
cmp_ok($content[0]->{rect}->{y}, '==', $oldrect->{y} - 10, 'y exactly 10 px smaller');
|
||||
cmp_ok($content[0]->{rect}->{x}, '==', $oldrect->{x}, 'x untouched');
|
||||
cmp_ok($content[0]->{rect}->{height}, '>', $oldrect->{height}, 'height bigger than before');
|
||||
cmp_ok($content[0]->{rect}->{height}, '==', $oldrect->{height} + 10, 'height exactly 10 px higher');
|
||||
cmp_ok($content[0]->{rect}->{width}, '==', $oldrect->{width}, 'x untouched');
|
||||
|
||||
# up, but with a different amount of px
|
||||
$oldrect = $content[0]->{rect};
|
||||
|
||||
cmd 'resize grow up 12 px or 25 ppt';
|
||||
|
||||
@content = @{get_ws($tmp)->{floating_nodes}};
|
||||
cmp_ok($content[0]->{rect}->{y}, '<', $oldrect->{y}, 'y smaller than before');
|
||||
cmp_ok($content[0]->{rect}->{y}, '==', $oldrect->{y} - 12, 'y exactly 10 px smaller');
|
||||
cmp_ok($content[0]->{rect}->{x}, '==', $oldrect->{x}, 'x untouched');
|
||||
cmp_ok($content[0]->{rect}->{height}, '>', $oldrect->{height}, 'height bigger than before');
|
||||
cmp_ok($content[0]->{rect}->{height}, '==', $oldrect->{height} + 12, 'height exactly 10 px higher');
|
||||
cmp_ok($content[0]->{rect}->{width}, '==', $oldrect->{width}, 'x untouched');
|
||||
|
||||
# left
|
||||
$oldrect = $content[0]->{rect};
|
||||
|
||||
cmd 'resize grow left 10 px or 25 ppt';
|
||||
|
||||
@content = @{get_ws($tmp)->{floating_nodes}};
|
||||
cmp_ok($content[0]->{rect}->{x}, '<', $oldrect->{x}, 'x smaller than before');
|
||||
cmp_ok($content[0]->{rect}->{width}, '>', $oldrect->{width}, 'width bigger than before');
|
||||
|
||||
# right
|
||||
$oldrect = $content[0]->{rect};
|
||||
|
||||
cmd 'resize grow right 10 px or 25 ppt';
|
||||
|
||||
@content = @{get_ws($tmp)->{floating_nodes}};
|
||||
cmp_ok($content[0]->{rect}->{x}, '==', $oldrect->{x}, 'x the same as before');
|
||||
cmp_ok($content[0]->{rect}->{y}, '==', $oldrect->{y}, 'y the same as before');
|
||||
cmp_ok($content[0]->{rect}->{width}, '>', $oldrect->{width}, 'width bigger than before');
|
||||
cmp_ok($content[0]->{rect}->{height}, '==', $oldrect->{height}, 'height the same as before');
|
||||
|
||||
# down
|
||||
$oldrect = $content[0]->{rect};
|
||||
|
||||
cmd 'resize grow down 10 px or 25 ppt';
|
||||
|
||||
@content = @{get_ws($tmp)->{floating_nodes}};
|
||||
cmp_ok($content[0]->{rect}->{x}, '==', $oldrect->{x}, 'x the same as before');
|
||||
cmp_ok($content[0]->{rect}->{y}, '==', $oldrect->{y}, 'y the same as before');
|
||||
cmp_ok($content[0]->{rect}->{height}, '>', $oldrect->{height}, 'height bigger than before');
|
||||
cmp_ok($content[0]->{rect}->{width}, '==', $oldrect->{width}, 'width the same as before');
|
||||
|
||||
done_testing;
|
||||
|
|
Loading…
Reference in New Issue