fix for how base-size is used to comply with the icccm

This commit is contained in:
Dana Jansens 2003-06-19 17:14:16 +00:00
parent 5338fdbf2e
commit 36231e5cb3

View file

@ -1677,16 +1677,13 @@ void client_configure(Client *self, Corner anchor, int x, int y, int w, int h,
minh = self->base_size.height; minh = self->base_size.height;
} }
w -= basew;
h -= baseh;
if (user) { if (user) {
/* for interactive resizing. have to move half an increment in each /* for interactive resizing. have to move half an increment in each
direction. */ direction. */
/* how far we are towards the next size inc */ /* how far we are towards the next size inc */
int mw = w % self->size_inc.width; int mw = (w - basew) % self->size_inc.width;
int mh = h % self->size_inc.height; int mh = (h - baseh) % self->size_inc.height;
/* amount to add */ /* amount to add */
int aw = self->size_inc.width / 2; int aw = self->size_inc.width / 2;
int ah = self->size_inc.height / 2; int ah = self->size_inc.height / 2;
@ -1708,6 +1705,9 @@ void client_configure(Client *self, Corner anchor, int x, int y, int w, int h,
if (h < minh) h = minh; if (h < minh) h = minh;
} }
w -= basew;
h -= baseh;
/* keep to the increments */ /* keep to the increments */
w /= self->size_inc.width; w /= self->size_inc.width;
h /= self->size_inc.height; h /= self->size_inc.height;