comparison event.c @ 195:97960220eb77

fixed xterm font change (all other related apps should work fine with this fix as well)
author arg@10ksloc.org
date Fri, 04 Aug 2006 18:25:40 +0200
parents e848966a1ac6
children d560e796f7fe
comparison
equal deleted inserted replaced
194:655e38416bb8 195:97960220eb77
154 XWindowChanges wc; 154 XWindowChanges wc;
155 unsigned long newmask; 155 unsigned long newmask;
156 156
157 if((c = getclient(ev->window))) { 157 if((c = getclient(ev->window))) {
158 gravitate(c, True); 158 gravitate(c, True);
159 if(c->isfloat) { 159 if(ev->value_mask & CWX)
160 if(ev->value_mask & CWX) 160 c->x = ev->x;
161 c->x = ev->x; 161 if(ev->value_mask & CWY)
162 if(ev->value_mask & CWY) 162 c->y = ev->y;
163 c->y = ev->y; 163 if(ev->value_mask & CWWidth)
164 if(ev->value_mask & CWWidth) 164 c->w = ev->width;
165 c->w = ev->width; 165 if(ev->value_mask & CWHeight)
166 if(ev->value_mask & CWHeight) 166 c->h = ev->height;
167 c->h = ev->height;
168 }
169 if(ev->value_mask & CWBorderWidth) 167 if(ev->value_mask & CWBorderWidth)
170 c->border = ev->border_width; 168 c->border = ev->border_width;
171 gravitate(c, False); 169 gravitate(c, False);
172
173 resize(c, True, TopLeft);
174
175 wc.x = c->x; 170 wc.x = c->x;
176 wc.y = c->y; 171 wc.y = c->y;
177 wc.width = c->w; 172 wc.width = c->w;
178 wc.height = c->h; 173 wc.height = c->h;
179 newmask = ev->value_mask & (~(CWSibling | CWStackMode | CWBorderWidth)); 174 newmask = ev->value_mask & (~(CWSibling | CWStackMode | CWBorderWidth));
191 synev.xconfigure.border_width = c->border; 186 synev.xconfigure.border_width = c->border;
192 synev.xconfigure.above = None; 187 synev.xconfigure.above = None;
193 /* Send synthetic ConfigureNotify */ 188 /* Send synthetic ConfigureNotify */
194 XSendEvent(dpy, c->win, True, NoEventMask, &synev); 189 XSendEvent(dpy, c->win, True, NoEventMask, &synev);
195 } 190 }
191 XSync(dpy, False);
192 arrange(NULL);
193 drawall();
196 } 194 }
197 else { 195 else {
198 wc.x = ev->x; 196 wc.x = ev->x;
199 wc.y = ev->y; 197 wc.y = ev->y;
200 wc.width = ev->width; 198 wc.width = ev->width;
201 wc.height = ev->height; 199 wc.height = ev->height;
202 wc.border_width = ev->border_width; 200 wc.border_width = ev->border_width;
203 wc.sibling = ev->above; 201 wc.sibling = ev->above;
204 wc.stack_mode = ev->detail; 202 wc.stack_mode = ev->detail;
205 XConfigureWindow(dpy, ev->window, ev->value_mask, &wc); 203 XConfigureWindow(dpy, ev->window, ev->value_mask, &wc);
206 } 204 XSync(dpy, False);
207 XSync(dpy, False); 205 }
208 } 206 }
209 207
210 static void 208 static void
211 destroynotify(XEvent *e) 209 destroynotify(XEvent *e)
212 { 210 {