mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	view: show fullscreen views above top-layer
See https://github.com/LBCrion/sfwbar/issues/24
This commit is contained in:
		
							parent
							
								
									d34efad7bb
								
							
						
					
					
						commit
						6b8c10dcd4
					
				
					 2 changed files with 10 additions and 5 deletions
				
			
		
							
								
								
									
										13
									
								
								src/view.c
									
										
									
									
									
								
							
							
						
						
									
										13
									
								
								src/view.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -295,6 +295,9 @@ view_set_fullscreen(struct view *view, bool fullscreen,
 | 
			
		|||
		wlr_foreign_toplevel_handle_v1_set_fullscreen(
 | 
			
		||||
			view->toplevel_handle, fullscreen);
 | 
			
		||||
	}
 | 
			
		||||
	if (!wlr_output) {
 | 
			
		||||
		wlr_output = view_wlr_output(view);
 | 
			
		||||
	}
 | 
			
		||||
	if (fullscreen) {
 | 
			
		||||
		if (!view->maximized) {
 | 
			
		||||
			view->unmaximized_geometry.x = view->x;
 | 
			
		||||
| 
						 | 
				
			
			@ -302,10 +305,6 @@ view_set_fullscreen(struct view *view, bool fullscreen,
 | 
			
		|||
			view->unmaximized_geometry.width = view->w;
 | 
			
		||||
			view->unmaximized_geometry.height = view->h;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (!wlr_output) {
 | 
			
		||||
			wlr_output = view_wlr_output(view);
 | 
			
		||||
		}
 | 
			
		||||
		view->fullscreen = wlr_output;
 | 
			
		||||
		view_apply_fullscreen_geometry(view, view->fullscreen);
 | 
			
		||||
	} else {
 | 
			
		||||
| 
						 | 
				
			
			@ -317,6 +316,12 @@ view_set_fullscreen(struct view *view, bool fullscreen,
 | 
			
		|||
		}
 | 
			
		||||
		view->fullscreen = false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* Show fullscreen views above top-layer */
 | 
			
		||||
	struct output *output =
 | 
			
		||||
		output_from_wlr_output(view->server, wlr_output);
 | 
			
		||||
	uint32_t top = ZWLR_LAYER_SHELL_V1_LAYER_TOP;
 | 
			
		||||
	wlr_scene_node_set_enabled(&output->layer_tree[top]->node, !fullscreen);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue