event.c
changeset 159 a5eab6aaf859
parent 158 4e42dfc0f61f
child 160 c8db0a825775
equal deleted inserted replaced
158:4e42dfc0f61f 159:a5eab6aaf859
   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 {