@ -3,7 +3,6 @@  
															
														 
														
													
														
															
																 
																 
																 *  See  LICENSE  file  for  license  details .   
																 
																 
																 *  See  LICENSE  file  for  license  details .   
															
														 
														
													
														
															
																 
																 
																 */   
																 
																 
																 */   
															
														 
														
													
														
															
																 
																 
																# include  "dwm.h"  
																 
																 
																# include  "dwm.h"  
															
														 
														
													
														
															
																 
																 
																
  
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																# include  <stdlib.h>  
																 
																 
																# include  <stdlib.h>  
															
														 
														
													
														
															
																 
																 
																# include  <X11/keysym.h>  
																 
																 
																# include  <X11/keysym.h>  
															
														 
														
													
														
															
																 
																 
																# include  <X11/Xatom.h>  
																 
																 
																# include  <X11/Xatom.h>  
															
														 
														
													
												
													
														
															
																
																	
																		
																			 
																		 
																	
																	
																		
																			 
																		 
																	
																	
																 
																@ -151,32 +150,60 @@ configurerequest(XEvent *e)  
															
														 
														
													
														
															
																 
																 
																{  
																 
																 
																{  
															
														 
														
													
														
															
																 
																 
																	Client  * c ;   
																 
																 
																	Client  * c ;   
															
														 
														
													
														
															
																 
																 
																	XConfigureRequestEvent  * ev  =  & e - > xconfigurerequest ;   
																 
																 
																	XConfigureRequestEvent  * ev  =  & e - > xconfigurerequest ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																	XEvent  synev ;   
															
														 
														
													
														
															
																 
																 
																	XWindowChanges  wc ;   
																 
																 
																	XWindowChanges  wc ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																	unsigned  long  newmask ;   
															
														 
														
													
														
															
																 
																 
																
  
																 
																 
																
  
															
														 
														
													
														
															
																 
																 
																	ev - > value_mask  & =  ~ CWSibling ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																	if ( ( c  =  getclient ( ev - > window ) ) )  {   
																 
																 
																	if ( ( c  =  getclient ( ev - > window ) ) )  {   
															
														 
														
													
														
															
																 
																 
																		gravitate ( c ,  True ) ;   
																 
																 
																		gravitate ( c ,  True ) ;   
															
														 
														
													
														
															
																 
																 
																		if ( ev - > value_mask  &  CWX )   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																			c - > x  =  ev - > x ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																		if ( ev - > value_mask  &  CWY )   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																			c - > y  =  ev - > y ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																		if ( ev - > value_mask  &  CWWidth )   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																			c - > w  =  ev - > width ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																		if ( ev - > value_mask  &  CWHeight )   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																			c - > h  =  ev - > height ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		if ( c - > isfloat )  {   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			if ( ev - > value_mask  &  CWX )   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																				c - > x  =  ev - > x ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			if ( ev - > value_mask  &  CWY )   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																				c - > y  =  ev - > y ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			if ( ev - > value_mask  &  CWWidth )   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																				c - > w  =  ev - > width ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			if ( ev - > value_mask  &  CWHeight )   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																				c - > h  =  ev - > height ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		}   
															
														 
														
													
														
															
																 
																 
																		if ( ev - > value_mask  &  CWBorderWidth )   
																 
																 
																		if ( ev - > value_mask  &  CWBorderWidth )   
															
														 
														
													
														
															
																 
																 
																			c - > border  =  1 ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			c - > border  =  ev - > border_width ;   
															
														 
														
													
														
															
																 
																 
																		gravitate ( c ,  False ) ;   
																 
																 
																		gravitate ( c ,  False ) ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																
  
															
														 
														
													
														
															
																 
																 
																		resize ( c ,  True ,  TopLeft ) ;   
																 
																 
																		resize ( c ,  True ,  TopLeft ) ;   
															
														 
														
													
														
															
																 
																 
																	}   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																
  
																 
																 
																
  
															
														 
														
													
														
															
																 
																 
																	wc . x  =  ev - > x ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																	wc . y  =  ev - > y ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																	wc . width  =  ev - > width ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																	wc . height  =  ev - > height ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																	wc . border_width  =  1 ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																	XConfigureWindow ( dpy ,  ev - > window ,   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																			CWX | CWY | CWWidth | CWHeight | CWBorderWidth ,  & wc ) ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		wc . x  =  c - > x ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		wc . y  =  c - > y ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		wc . width  =  c - > w ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		wc . height  =  c - > h ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		newmask  =  ev - > value_mask  &  ( ~ ( CWSibling  |  CWStackMode  |  CWBorderWidth ) ) ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		if ( newmask )   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			XConfigureWindow ( dpy ,  c - > win ,  newmask ,  & wc ) ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		else  {   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			synev . type  =  ConfigureNotify ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			synev . xconfigure . display  =  dpy ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			synev . xconfigure . event  =  c - > win ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			synev . xconfigure . window  =  c - > win ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			synev . xconfigure . x  =  c - > x ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			synev . xconfigure . y  =  c - > y ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			synev . xconfigure . width  =  c - > w ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			synev . xconfigure . height  =  c - > h ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			synev . xconfigure . border_width  =  c - > border ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			synev . xconfigure . above  =  None ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			/* Send synthetic ConfigureNotify */   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			XSendEvent ( dpy ,  c - > win ,  True ,  NoEventMask ,  & synev ) ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		}   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																	}   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																	else  {   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		wc . x  =  ev - > x ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		wc . y  =  ev - > y ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		wc . width  =  ev - > width ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		wc . height  =  ev - > height ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		wc . border_width  =  ev - > border_width ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		wc . sibling  =  ev - > above ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		wc . stack_mode  =  ev - > detail ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		XConfigureWindow ( dpy ,  ev - > window ,  ev - > value_mask ,  & wc ) ;   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																	}   
															
														 
														
													
														
															
																 
																 
																	XSync ( dpy ,  False ) ;   
																 
																 
																	XSync ( dpy ,  False ) ;   
															
														 
														
													
														
															
																 
																 
																}  
																 
																 
																}