mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	xdg: Fix positioning of initially-maximized views
- Don't overwrite pending size in map() if it was already set - Don't reposition view in map() if maximized/fullscreen Also, as future-proofing in case we one day allow initially-tiled views, replace explicit maximized/fullscreen checks with view_is_floating().
This commit is contained in:
		
							parent
							
								
									a1b5e1939d
								
							
						
					
					
						commit
						db1d6fa308
					
				
					 2 changed files with 10 additions and 5 deletions
				
			
		
							
								
								
									
										11
									
								
								src/xdg.c
									
										
									
									
									
								
							
							
						
						
									
										11
									
								
								src/xdg.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -340,16 +340,21 @@ xdg_toplevel_view_map(struct view *view)
 | 
			
		|||
		 * view_set_fullscreen/view_maximize() below). "Current"
 | 
			
		||||
		 * dimensions remain zero until handle_commit().
 | 
			
		||||
		 */
 | 
			
		||||
		view->pending.width = xdg_surface->current.geometry.width;
 | 
			
		||||
		view->pending.height = xdg_surface->current.geometry.height;
 | 
			
		||||
		if (wlr_box_empty(&view->pending)) {
 | 
			
		||||
			view->pending.width =
 | 
			
		||||
				xdg_surface->current.geometry.width;
 | 
			
		||||
			view->pending.height =
 | 
			
		||||
				xdg_surface->current.geometry.height;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		position_xdg_toplevel_view(view);
 | 
			
		||||
		if (!view->fullscreen && requested->fullscreen) {
 | 
			
		||||
			view_set_fullscreen(view, true,
 | 
			
		||||
				requested->fullscreen_output);
 | 
			
		||||
		} else if (!view->maximized && requested->maximized) {
 | 
			
		||||
			view_maximize(view, true,
 | 
			
		||||
				/*store_natural_geometry*/ true);
 | 
			
		||||
		} else if (view_is_floating(view)) {
 | 
			
		||||
			position_xdg_toplevel_view(view);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		view_moved(view);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -534,7 +534,7 @@ map(struct view *view)
 | 
			
		|||
	if (!view->been_mapped) {
 | 
			
		||||
		view_set_decorations(view, want_deco(xwayland_surface));
 | 
			
		||||
 | 
			
		||||
		if (!view->maximized && !view->fullscreen) {
 | 
			
		||||
		if (view_is_floating(view)) {
 | 
			
		||||
			set_initial_position(view, xwayland_surface);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -549,7 +549,7 @@ map(struct view *view)
 | 
			
		|||
		view->been_mapped = true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (view->ssd_enabled && !view->fullscreen && !view->maximized) {
 | 
			
		||||
	if (view->ssd_enabled && view_is_floating(view)) {
 | 
			
		||||
		top_left_edge_boundary_check(view);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue