40 lines
		
	
	
		
			945 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			945 B
		
	
	
	
		
			C
		
	
	
	
	
	
| static Atom motifatom;
 | |
| 
 | |
| void
 | |
| updatemotifhints(Client *c)
 | |
| {
 | |
| 	Atom real;
 | |
| 	int format;
 | |
| 	unsigned char *p = NULL;
 | |
| 	unsigned long n, extra;
 | |
| 	unsigned long *motif;
 | |
| 	int width, height;
 | |
| 
 | |
| 	if (!decorhints)
 | |
| 		return;
 | |
| 
 | |
| 	if (XGetWindowProperty(dpy, c->win, motifatom, 0L, 5L, False, motifatom,
 | |
| 		                   &real, &format, &n, &extra, &p) == Success && p != NULL) {
 | |
| 		motif = (unsigned long*)p;
 | |
| 		if (motif[MWM_HINTS_FLAGS_FIELD] & MWM_HINTS_DECORATIONS) {
 | |
| 			width = WIDTH(c);
 | |
| 			height = HEIGHT(c);
 | |
| 
 | |
| 			if (motif[MWM_HINTS_DECORATIONS_FIELD] & MWM_DECOR_ALL ||
 | |
| 				motif[MWM_HINTS_DECORATIONS_FIELD] & MWM_DECOR_BORDER ||
 | |
| 				motif[MWM_HINTS_DECORATIONS_FIELD] & MWM_DECOR_TITLE)
 | |
| 				#if SETBORDERPX_PATCH
 | |
| 				c->bw = c->oldbw = c->mon->borderpx;
 | |
| 				#else
 | |
| 				c->bw = c->oldbw = borderpx;
 | |
| 				#endif // SETBORDERPX_PATCH
 | |
| 			else
 | |
| 				c->bw = c->oldbw = 0;
 | |
| 
 | |
| 			resize(c, c->x, c->y, width - (2*c->bw), height - (2*c->bw), 0);
 | |
| 		}
 | |
| 		XFree(p);
 | |
| 	}
 | |
| }
 | |
| 
 |