[fix] resize should now preserve surrounding container's dimensions

- prior to this modification, the requested pixels were added/removed
  to both edges of the modified container. To preserve sizes,
  only half the pixels should be added/removed to each edge.
This commit is contained in:
wil 2017-01-07 18:20:13 +01:00
parent f7269684d0
commit 3c84250be8

View file

@ -175,15 +175,15 @@ static bool resize_tiled(int amount, bool use_width) {
} else {
if (use_major) {
for (int j = i; j < next_i; ++j) {
recursive_resize(parent->children->items[j], pixels,
recursive_resize(parent->children->items[j], pixels / 2,
use_width ? WLC_RESIZE_EDGE_LEFT : WLC_RESIZE_EDGE_TOP);
recursive_resize(parent->children->items[j], pixels,
recursive_resize(parent->children->items[j], pixels / 2,
use_width ? WLC_RESIZE_EDGE_RIGHT : WLC_RESIZE_EDGE_BOTTOM);
}
} else {
recursive_resize(sibling, pixels,
recursive_resize(sibling, pixels / 2,
use_width ? WLC_RESIZE_EDGE_LEFT : WLC_RESIZE_EDGE_TOP);
recursive_resize(sibling, pixels,
recursive_resize(sibling, pixels / 2,
use_width ? WLC_RESIZE_EDGE_RIGHT : WLC_RESIZE_EDGE_BOTTOM);
}
}