floating: Make sure new windows don't overflow output size
This commit is contained in:
parent
b1a4e1682c
commit
a8846ed2b8
1 changed files with 7 additions and 4 deletions
|
|
@ -385,9 +385,11 @@ impl FloatingLayout {
|
||||||
// ... but also don't go smaller than the min_size
|
// ... but also don't go smaller than the min_size
|
||||||
width = std::cmp::max(min_size.w, width);
|
width = std::cmp::max(min_size.w, width);
|
||||||
}
|
}
|
||||||
// but no matter the supported sizes, don't be larger than our non-exclusive-zone
|
win_geo.size.w = width;
|
||||||
win_geo.size.w = std::cmp::min(width, output_geometry.size.w);
|
|
||||||
}
|
}
|
||||||
|
// but no matter the supported sizes, don't be larger than our non-exclusive-zone
|
||||||
|
win_geo.size.w = std::cmp::min(win_geo.size.w, output_geometry.size.w);
|
||||||
|
|
||||||
if win_geo.size.h > max_size.h {
|
if win_geo.size.h > max_size.h {
|
||||||
// try a more reasonable size
|
// try a more reasonable size
|
||||||
let mut height = output_geometry.size.h / 3 * 2;
|
let mut height = output_geometry.size.h / 3 * 2;
|
||||||
|
|
@ -399,9 +401,10 @@ impl FloatingLayout {
|
||||||
// ... but also don't go smaller than the min_size
|
// ... but also don't go smaller than the min_size
|
||||||
height = std::cmp::max(min_size.h, height);
|
height = std::cmp::max(min_size.h, height);
|
||||||
}
|
}
|
||||||
// but no matter the supported sizes, don't be larger than our non-exclusive-zone
|
win_geo.size.h = height;
|
||||||
win_geo.size.h = std::cmp::min(height, output_geometry.size.h);
|
|
||||||
}
|
}
|
||||||
|
// but no matter the supported sizes, don't be larger than our non-exclusive-zone
|
||||||
|
win_geo.size.h = std::cmp::min(win_geo.size.h, output_geometry.size.h);
|
||||||
}
|
}
|
||||||
|
|
||||||
let position = position
|
let position = position
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue