event.c
changeset 158 4e42dfc0f61f
parent 153 02545d36e9d3
child 159 a5eab6aaf859
equal deleted inserted replaced
157:93012e947eae 158:4e42dfc0f61f
   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;
       
   157 	if((c = getclient(ev->window))) {
   156 	if((c = getclient(ev->window))) {
   158 		gravitate(c, True);
   157 		gravitate(c, True);
   159 		if(ev->value_mask & CWX)
   158 		if(ev->value_mask & CWX)
   160 			c->x = ev->x;
   159 			c->x = ev->x;
   161 		if(ev->value_mask & CWY)
   160 		if(ev->value_mask & CWY)
   167 		if(ev->value_mask & CWBorderWidth)
   166 		if(ev->value_mask & CWBorderWidth)
   168 			c->border = 1;
   167 			c->border = 1;
   169 		gravitate(c, False);
   168 		gravitate(c, False);
   170 		resize(c, True, TopLeft);
   169 		resize(c, True, TopLeft);
   171 	}
   170 	}
   172 
   171 	else {
   173 	wc.x = ev->x;
   172 		wc.x = ev->x;
   174 	wc.y = ev->y;
   173 		wc.y = ev->y;
   175 	wc.width = ev->width;
   174 		wc.width = ev->width;
   176 	wc.height = ev->height;
   175 		wc.height = ev->height;
   177 	wc.border_width = 1;
   176 		wc.border_width = 1;
   178 	wc.sibling = None;
   177 		XConfigureWindow(dpy, ev->window,
   179 	wc.stack_mode = Above;
   178 				CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
   180 	ev->value_mask &= ~CWStackMode;
   179 		XSync(dpy, False);
   181 	ev->value_mask |= CWBorderWidth;
   180 	}
   182 	XConfigureWindow(dpy, ev->window, ev->value_mask, &wc);
       
   183 	XSync(dpy, False);
       
   184 }
   181 }
   185 
   182 
   186 static void
   183 static void
   187 destroynotify(XEvent *e)
   184 destroynotify(XEvent *e)
   188 {
   185 {