equal
deleted
inserted
replaced
151 { |
151 { |
152 Client *c; |
152 Client *c; |
153 XConfigureRequestEvent *ev = &e->xconfigurerequest; |
153 XConfigureRequestEvent *ev = &e->xconfigurerequest; |
154 XWindowChanges wc; |
154 XWindowChanges wc; |
155 |
155 |
|
156 ev->value_mask &= ~CWSibling; |
156 if((c = getclient(ev->window))) { |
157 if((c = getclient(ev->window))) { |
157 gravitate(c, True); |
158 gravitate(c, True); |
158 if(ev->value_mask & CWX) |
159 if(ev->value_mask & CWX) |
159 c->x = ev->x; |
160 c->x = ev->x; |
160 if(ev->value_mask & CWY) |
161 if(ev->value_mask & CWY) |
166 if(ev->value_mask & CWBorderWidth) |
167 if(ev->value_mask & CWBorderWidth) |
167 c->border = 1; |
168 c->border = 1; |
168 gravitate(c, False); |
169 gravitate(c, False); |
169 resize(c, True, TopLeft); |
170 resize(c, True, TopLeft); |
170 } |
171 } |
171 else { |
172 |
172 wc.x = ev->x; |
173 wc.x = ev->x; |
173 wc.y = ev->y; |
174 wc.y = ev->y; |
174 wc.width = ev->width; |
175 wc.width = ev->width; |
175 wc.height = ev->height; |
176 wc.height = ev->height; |
176 wc.border_width = 1; |
177 wc.border_width = 1; |
177 XConfigureWindow(dpy, ev->window, |
178 wc.sibling = None; |
178 CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc); |
179 wc.stack_mode = Above; |
179 XSync(dpy, False); |
180 ev->value_mask &= ~CWStackMode; |
180 } |
181 ev->value_mask |= CWBorderWidth; |
|
182 XConfigureWindow(dpy, ev->window, ev->value_mask, &wc); |
|
183 XSync(dpy, False); |
181 } |
184 } |
182 |
185 |
183 static void |
186 static void |
184 destroynotify(XEvent *e) |
187 destroynotify(XEvent *e) |
185 { |
188 { |