fixed the border issue for mplayer, ff is definately broken when using F11 (fullscreen mode)
This commit is contained in:
		
							parent
							
								
									ad2508f957
								
							
						
					
					
						commit
						22399a3bc0
					
				
							
								
								
									
										14
									
								
								client.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								client.c
									
									
									
									
									
								
							| @ -185,9 +185,11 @@ manage(Window w, XWindowAttributes *wa) { | |||||||
| 	c->y = wa->y; | 	c->y = wa->y; | ||||||
| 	c->w = wa->width; | 	c->w = wa->width; | ||||||
| 	c->h = wa->height; | 	c->h = wa->height; | ||||||
|  | 	c->oldborder = wa->border_width; | ||||||
| 	if(c->w == sw && c->h == sh) { | 	if(c->w == sw && c->h == sh) { | ||||||
| 		c->x = sx; | 		c->x = sx; | ||||||
| 		c->y = sy; | 		c->y = sy; | ||||||
|  | 		c->border = wa->border_width; | ||||||
| 	} | 	} | ||||||
| 	else { | 	else { | ||||||
| 		if(c->x + c->w + 2 * c->border > wax + waw) | 		if(c->x + c->w + 2 * c->border > wax + waw) | ||||||
| @ -198,15 +200,16 @@ manage(Window w, XWindowAttributes *wa) { | |||||||
| 			c->x = wax; | 			c->x = wax; | ||||||
| 		if(c->y < way) | 		if(c->y < way) | ||||||
| 			c->y = way; | 			c->y = way; | ||||||
|  | 		c->border = BORDERPX; | ||||||
| 	} | 	} | ||||||
|  | 	wc.border_width = c->border; | ||||||
|  | 	XConfigureWindow(dpy, w, CWBorderWidth, &wc); | ||||||
|  | 	XSetWindowBorder(dpy, w, dc.norm[ColBorder]); | ||||||
|  | 	configure(c); /* propagates border_width, if size doesn't change */ | ||||||
| 	updatesizehints(c); | 	updatesizehints(c); | ||||||
| 	XSelectInput(dpy, w, | 	XSelectInput(dpy, w, | ||||||
| 		StructureNotifyMask | PropertyChangeMask | EnterWindowMask); | 		StructureNotifyMask | PropertyChangeMask | EnterWindowMask); | ||||||
| 	grabbuttons(c, False); | 	grabbuttons(c, False); | ||||||
| 	c->border = wc.border_width = (c->w == sw && c->h == sh) ? wa->border_width : BORDERPX; |  | ||||||
| 	XConfigureWindow(dpy, w, CWBorderWidth, &wc); |  | ||||||
| 	XSetWindowBorder(dpy, w, dc.norm[ColBorder]); |  | ||||||
| 	configure(c); /* propagates border_width, if size doesn't change */ |  | ||||||
| 	updatetitle(c); | 	updatetitle(c); | ||||||
| 	if((rettrans = XGetTransientForHint(dpy, w, &trans) == Success)) | 	if((rettrans = XGetTransientForHint(dpy, w, &trans) == Success)) | ||||||
| 		for(t = clients; t && t->win != trans; t = t->next); | 		for(t = clients; t && t->win != trans; t = t->next); | ||||||
| @ -378,10 +381,13 @@ updatetitle(Client *c) { | |||||||
| void | void | ||||||
| unmanage(Client *c) { | unmanage(Client *c) { | ||||||
| 	Client *nc; | 	Client *nc; | ||||||
|  | 	XWindowChanges wc; | ||||||
| 
 | 
 | ||||||
|  | 	wc.border_width = c->oldborder; | ||||||
| 	/* The server grab construct avoids race conditions. */ | 	/* The server grab construct avoids race conditions. */ | ||||||
| 	XGrabServer(dpy); | 	XGrabServer(dpy); | ||||||
| 	XSetErrorHandler(xerrordummy); | 	XSetErrorHandler(xerrordummy); | ||||||
|  | 	XConfigureWindow(dpy, c->win, CWBorderWidth, &wc); /* restore border */ | ||||||
| 	detach(c); | 	detach(c); | ||||||
| 	detachstack(c); | 	detachstack(c); | ||||||
| 	if(sel == c) { | 	if(sel == c) { | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								dwm.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								dwm.h
									
									
									
									
									
								
							| @ -50,7 +50,7 @@ struct Client { | |||||||
| 	int basew, baseh, incw, inch, maxw, maxh, minw, minh; | 	int basew, baseh, incw, inch, maxw, maxh, minw, minh; | ||||||
| 	int minax, maxax, minay, maxay; | 	int minax, maxax, minay, maxay; | ||||||
| 	long flags;  | 	long flags;  | ||||||
| 	unsigned int border; | 	unsigned int border, oldborder; | ||||||
| 	Bool isbanned, isfixed, ismax, isfloating; | 	Bool isbanned, isfixed, ismax, isfloating; | ||||||
| 	Bool *tags; | 	Bool *tags; | ||||||
| 	Client *next; | 	Client *next; | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								main.c
									
									
									
									
									
								
							| @ -81,7 +81,7 @@ initfont(const char *fontstr) { | |||||||
| 	dc.font.set = XCreateFontSet(dpy, fontstr, &missing, &n, &def); | 	dc.font.set = XCreateFontSet(dpy, fontstr, &missing, &n, &def); | ||||||
| 	if(missing) { | 	if(missing) { | ||||||
| 		while(n--) | 		while(n--) | ||||||
| 			fprintf(stderr, "missing fontset: %s\n", missing[n]); | 			fprintf(stderr, "dwm: missing fontset: %s\n", missing[n]); | ||||||
| 		XFreeStringList(missing); | 		XFreeStringList(missing); | ||||||
| 	} | 	} | ||||||
| 	if(dc.font.set) { | 	if(dc.font.set) { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Anselm R. Garbe
						Anselm R. Garbe