Handle border width and height on minimum floating sizes

This commit is contained in:
RoastVeg 2020-06-09 16:47:38 +01:00 committed by GitHub
parent ed08f2f20c
commit da4366e566
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -75,16 +75,16 @@ static void handle_pointer_motion(struct sway_seat *seat, uint32_t time_msec,
int min_width, max_width, min_height, max_height;
floating_calculate_constraints(&min_width, &max_width,
&min_height, &max_height);
width = fmax(min_width + border_width, fmin(width, max_width));
height = fmax(min_height + border_height, fmin(height, max_height));
width = fmax(fmax(min_width + border_width, fmin(width, max_width - border_width)), 1);
height = fmax(fmax(min_height + border_height, fmin(height, max_height - border_height)), 1);
// Apply the view's min/max size
if (con->view) {
double view_min_width, view_max_width, view_min_height, view_max_height;
view_get_constraints(con->view, &view_min_width, &view_max_width,
&view_min_height, &view_max_height);
width = fmax(view_min_width + border_width, fmin(width, view_max_width));
height = fmax(view_min_height + border_height, fmin(height, view_max_height));
width = fmax(fmax(view_min_width + border_width, fmin(width, view_max_width - border_width)), 1);
height = fmax(fmax(view_min_height + border_height, fmin(height, view_max_height - border_height)), 1);
}