dwm.c
changeset 1165 3ac7eb240b52
parent 1163 f330c3a2dc76
child 1166 bf38679903b3
equal deleted inserted replaced
1164:cd4a51f33228 1165:3ac7eb240b52
  1194 resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
  1194 resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
  1195 	XWindowChanges wc;
  1195 	XWindowChanges wc;
  1196 
  1196 
  1197 	if(sizehints) {
  1197 	if(sizehints) {
  1198 		/* set minimum possible */
  1198 		/* set minimum possible */
  1199 		if (w < 1)
  1199 		if(w < 1)
  1200 			w = 1;
  1200 			w = 1;
  1201 		if (h < 1)
  1201 		if(h < 1)
  1202 			h = 1;
  1202 			h = 1;
  1203 
  1203 
  1204 		/* temporarily remove base dimensions */
  1204 		/* temporarily remove base dimensions */
  1205 		w -= c->basew;
  1205 		w -= c->basew;
  1206 		h -= c->baseh;
  1206 		h -= c->baseh;
  1207 
  1207 
  1208 		/* adjust for aspect limits */
  1208 		/* adjust for aspect limits */
  1209 		if (c->minay > 0 && c->maxay > 0 && c->minax > 0 && c->maxax > 0) {
  1209 		if(c->minax != c->maxax && c->minay != c->maxay 
       
  1210 		&& c->minax > 0 && c->maxax > 0 && c->minay > 0 && c->maxay > 0)
       
  1211 		{
  1210 			if (w * c->maxay > h * c->maxax)
  1212 			if (w * c->maxay > h * c->maxax)
  1211 				w = h * c->maxax / c->maxay;
  1213 				w = h * c->maxax / c->maxay;
  1212 			else if (w * c->minay < h * c->minax)
  1214 			else if (w * c->minay < h * c->minax)
  1213 				h = w * c->minay / c->minax;
  1215 				h = w * c->minay / c->minax;
  1214 		}
  1216 		}