equal
deleted
inserted
replaced
183 c->win = w; |
183 c->win = w; |
184 c->x = wa->x; |
184 c->x = wa->x; |
185 c->y = wa->y; |
185 c->y = wa->y; |
186 c->w = wa->width; |
186 c->w = wa->width; |
187 c->h = wa->height; |
187 c->h = wa->height; |
|
188 c->border = wa->border_width; |
188 if(c->w == sw && c->h == sh) { |
189 if(c->w == sw && c->h == sh) { |
189 c->border = 0; |
|
190 c->x = sx; |
190 c->x = sx; |
191 c->y = sy; |
191 c->y = sy; |
192 } |
192 } |
193 else { |
193 else { |
194 c->border = BORDERPX; |
|
195 if(c->x + c->w + 2 * c->border > wax + waw) |
194 if(c->x + c->w + 2 * c->border > wax + waw) |
196 c->x = wax + waw - c->w - 2 * c->border; |
195 c->x = wax + waw - c->w - 2 * c->border; |
197 if(c->y + c->h + 2 * c->border > way + wah) |
196 if(c->y + c->h + 2 * c->border > way + wah) |
198 c->y = way + wah - c->h - 2 * c->border; |
197 c->y = way + wah - c->h - 2 * c->border; |
199 if(c->x < wax) |
198 if(c->x < wax) |
203 } |
202 } |
204 updatesizehints(c); |
203 updatesizehints(c); |
205 XSelectInput(dpy, w, |
204 XSelectInput(dpy, w, |
206 StructureNotifyMask | PropertyChangeMask | EnterWindowMask); |
205 StructureNotifyMask | PropertyChangeMask | EnterWindowMask); |
207 grabbuttons(c, False); |
206 grabbuttons(c, False); |
208 wc.border_width = c->border; |
207 wc.border_width = BORDERPX; |
209 XConfigureWindow(dpy, w, CWBorderWidth, &wc); |
208 XConfigureWindow(dpy, w, CWBorderWidth, &wc); |
210 XSetWindowBorder(dpy, w, dc.norm[ColBorder]); |
209 XSetWindowBorder(dpy, w, dc.norm[ColBorder]); |
211 configure(c); /* propagates border_width, if size doesn't change */ |
210 configure(c); /* propagates border_width, if size doesn't change */ |
212 updatetitle(c); |
211 updatetitle(c); |
213 if((rettrans = XGetTransientForHint(dpy, w, &trans) == Success)) |
212 if((rettrans = XGetTransientForHint(dpy, w, &trans) == Success)) |
268 if(c->inch) |
267 if(c->inch) |
269 h -= (h - c->baseh) % c->inch; |
268 h -= (h - c->baseh) % c->inch; |
270 } |
269 } |
271 if(w <= 0 || h <= 0) |
270 if(w <= 0 || h <= 0) |
272 return; |
271 return; |
273 if(w == sw && h == sh) |
|
274 c->border = 0; |
|
275 else |
|
276 c->border = BORDERPX; |
|
277 /* offscreen appearance fixes */ |
272 /* offscreen appearance fixes */ |
278 if(x > sw) |
273 if(x > sw) |
279 x = sw - w - 2 * c->border; |
274 x = sw - w - 2 * c->border; |
280 if(y > sh) |
275 if(y > sh) |
281 y = sh - h - 2 * c->border; |
276 y = sh - h - 2 * c->border; |