fakefullscreen: fullscreen --> fake fullscreen can make the tiled window display on top of floating window
This commit is contained in:
		
							
								
								
									
										14
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								dwm.c
									
									
									
									
									
								
							| @@ -2981,11 +2981,13 @@ setfullscreen(Client *c, int fullscreen) | |||||||
| 		c->isfullscreen = 1; | 		c->isfullscreen = 1; | ||||||
| 		#if !FAKEFULLSCREEN_PATCH | 		#if !FAKEFULLSCREEN_PATCH | ||||||
| 		c->oldbw = c->bw; | 		c->oldbw = c->bw; | ||||||
| 		#if FAKEFULLSCREEN_CLIENT_PATCH |  | ||||||
| 		if (c->fakefullscreen == 1) |  | ||||||
| 			return; |  | ||||||
| 		#endif // FAKEFULLSCREEN_CLIENT_PATCH |  | ||||||
| 		c->oldstate = c->isfloating; | 		c->oldstate = c->isfloating; | ||||||
|  | 		#if FAKEFULLSCREEN_CLIENT_PATCH | ||||||
|  | 		if (c->fakefullscreen == 1) { | ||||||
|  | 			restack(c->mon); | ||||||
|  | 			return; | ||||||
|  | 		} | ||||||
|  | 		#endif // FAKEFULLSCREEN_CLIENT_PATCH | ||||||
| 		c->bw = 0; | 		c->bw = 0; | ||||||
| 		c->isfloating = 1; | 		c->isfloating = 1; | ||||||
| 		resizeclient(c, c->mon->mx, c->mon->my, c->mon->mw, c->mon->mh); | 		resizeclient(c, c->mon->mx, c->mon->my, c->mon->mw, c->mon->mh); | ||||||
| @@ -2997,19 +2999,19 @@ setfullscreen(Client *c, int fullscreen) | |||||||
| 		c->isfullscreen = 0; | 		c->isfullscreen = 0; | ||||||
| 		#if !FAKEFULLSCREEN_PATCH | 		#if !FAKEFULLSCREEN_PATCH | ||||||
| 		c->bw = c->oldbw; | 		c->bw = c->oldbw; | ||||||
|  | 		c->isfloating = c->oldstate; | ||||||
|  | 		restack(c->mon); | ||||||
| 		#if FAKEFULLSCREEN_CLIENT_PATCH | 		#if FAKEFULLSCREEN_CLIENT_PATCH | ||||||
| 		if (c->fakefullscreen == 1) | 		if (c->fakefullscreen == 1) | ||||||
| 			return; | 			return; | ||||||
| 		if (c->fakefullscreen == 2) | 		if (c->fakefullscreen == 2) | ||||||
| 			c->fakefullscreen = 1; | 			c->fakefullscreen = 1; | ||||||
| 		#endif // FAKEFULLSCREEN_CLIENT_PATCH | 		#endif // FAKEFULLSCREEN_CLIENT_PATCH | ||||||
| 		c->isfloating = c->oldstate; |  | ||||||
| 		c->x = c->oldx; | 		c->x = c->oldx; | ||||||
| 		c->y = c->oldy; | 		c->y = c->oldy; | ||||||
| 		c->w = c->oldw; | 		c->w = c->oldw; | ||||||
| 		c->h = c->oldh; | 		c->h = c->oldh; | ||||||
| 		resizeclient(c, c->x, c->y, c->w, c->h); | 		resizeclient(c, c->x, c->y, c->w, c->h); | ||||||
| 		arrange(c->mon); |  | ||||||
| 		#endif // !FAKEFULLSCREEN_PATCH | 		#endif // !FAKEFULLSCREEN_PATCH | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
| @@ -13,12 +13,9 @@ togglefullscreen(const Arg *arg) | |||||||
| 	} else if (c->fakefullscreen == 2) { | 	} else if (c->fakefullscreen == 2) { | ||||||
| 		c->fakefullscreen = 0; | 		c->fakefullscreen = 0; | ||||||
| 		togglefakefullscreen(NULL); | 		togglefakefullscreen(NULL); | ||||||
| 		arrange(selmon); |  | ||||||
| 		return; | 		return; | ||||||
| 	} | 	} | ||||||
| 	#endif // FAKEFULLSCREEN_CLIENT_PATCH | 	#endif // FAKEFULLSCREEN_CLIENT_PATCH | ||||||
|  |  | ||||||
| 	setfullscreen(c, !c->isfullscreen); | 	setfullscreen(c, !c->isfullscreen); | ||||||
| 	if (!c->isfullscreen) |  | ||||||
| 		arrange(c->mon); |  | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user