parent
64b8b4b766
commit
b901fc9464
|
@ -644,12 +644,12 @@ void cmd_resize_set(I3_CMD, long cwidth, const char *mode_width, long cheight, c
|
||||||
if ((floating_con = con_inside_floating(current->con))) {
|
if ((floating_con = con_inside_floating(current->con))) {
|
||||||
Con *output = con_get_output(floating_con);
|
Con *output = con_get_output(floating_con);
|
||||||
if (cwidth == 0) {
|
if (cwidth == 0) {
|
||||||
cwidth = output->rect.width;
|
cwidth = floating_con->rect.width;
|
||||||
} else if (mode_width && strcmp(mode_width, "ppt") == 0) {
|
} else if (mode_width && strcmp(mode_width, "ppt") == 0) {
|
||||||
cwidth = output->rect.width * ((double)cwidth / 100.0);
|
cwidth = output->rect.width * ((double)cwidth / 100.0);
|
||||||
}
|
}
|
||||||
if (cheight == 0) {
|
if (cheight == 0) {
|
||||||
cheight = output->rect.height;
|
cheight = floating_con->rect.height;
|
||||||
} else if (mode_height && strcmp(mode_height, "ppt") == 0) {
|
} else if (mode_height && strcmp(mode_height, "ppt") == 0) {
|
||||||
cheight = output->rect.height * ((double)cheight / 100.0);
|
cheight = output->rect.height * ((double)cheight / 100.0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,4 +79,21 @@ do_test(int(0.44 * 1333), 111);
|
||||||
cmd 'resize set 222 px 100 ppt';
|
cmd 'resize set 222 px 100 ppt';
|
||||||
do_test(222, 999);
|
do_test(222, 999);
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Zero is interpreted as no change.
|
||||||
|
# See issue: #3276.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
cmd 'resize set 0 px 333 px';
|
||||||
|
do_test(0, 333);
|
||||||
|
|
||||||
|
cmd 'resize set 333 px 0 ppt';
|
||||||
|
do_test(333, 0);
|
||||||
|
|
||||||
|
cmd 'resize set 0 px 0 ppt';
|
||||||
|
do_test(0, 0);
|
||||||
|
|
||||||
|
cmd 'resize set 100 ppt 0 px';
|
||||||
|
do_test(1333, 0);
|
||||||
|
|
||||||
done_testing;
|
done_testing;
|
||||||
|
|
Loading…
Reference in New Issue