event.c
changeset 857 453788ae925c
parent 837 123231b9eb87
child 858 b797071ebbd4
equal deleted inserted replaced
856:7c53a7f54174 857:453788ae925c
     1 /* (C)opyright MMVI-MMVII Anselm R. Garbe <garbeam at gmail dot com>
     1 /* © 2004-2007 Anselm R. Garbe <garbeam at gmail dot com>
     2  * See LICENSE file for license details.
     2  * See LICENSE file for license details. */
     3  */
       
     4 #include "dwm.h"
     3 #include "dwm.h"
     5 #include <stdio.h>
     4 #include <stdio.h>
     6 #include <stdlib.h>
     5 #include <stdlib.h>
     7 #include <X11/keysym.h>
     6 #include <X11/keysym.h>
     8 #include <X11/Xatom.h>
     7 #include <X11/Xatom.h>
   172 	XConfigureRequestEvent *ev = &e->xconfigurerequest;
   171 	XConfigureRequestEvent *ev = &e->xconfigurerequest;
   173 	XWindowChanges wc;
   172 	XWindowChanges wc;
   174 
   173 
   175 	if((c = getclient(ev->window))) {
   174 	if((c = getclient(ev->window))) {
   176 		c->ismax = False;
   175 		c->ismax = False;
   177 		if(ev->value_mask & CWBorderWidth)
       
   178 			c->border = ev->border_width;
       
   179 		if(c->isfixed || c->isfloating || (lt->arrange == floating)) {
   176 		if(c->isfixed || c->isfloating || (lt->arrange == floating)) {
   180 			if(ev->value_mask & CWX)
   177 			if(ev->value_mask & CWX)
   181 				c->x = ev->x;
   178 				c->x = ev->x;
   182 			if(ev->value_mask & CWY)
   179 			if(ev->value_mask & CWY)
   183 				c->y = ev->y;
   180 				c->y = ev->y;
   189 			&& !(ev->value_mask & (CWWidth | CWHeight)))
   186 			&& !(ev->value_mask & (CWWidth | CWHeight)))
   190 				configure(c);
   187 				configure(c);
   191 			if(isvisible(c))
   188 			if(isvisible(c))
   192 				XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
   189 				XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
   193 		}
   190 		}
   194 		else
   191 		else {
       
   192 			if(ev->value_mask & CWBorderWidth)
       
   193 				c->border = ev->border_width;
   195 			configure(c);
   194 			configure(c);
       
   195 			c->border = BORDERPX;
       
   196 		}
   196 	}
   197 	}
   197 	else {
   198 	else {
   198 		wc.x = ev->x;
   199 		wc.x = ev->x;
   199 		wc.y = ev->y;
   200 		wc.y = ev->y;
   200 		wc.width = ev->width;
   201 		wc.width = ev->width;