mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	Merge pull request #2162 from martinetd/float_xdg_shell
xdg_shell: make view floating if a parent has been set
This commit is contained in:
		
						commit
						f0f50c31d5
					
				
					 2 changed files with 11 additions and 8 deletions
				
			
		| 
						 | 
					@ -120,11 +120,12 @@ static void set_fullscreen(struct sway_view *view, bool fullscreen) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static bool wants_floating(struct sway_view *view) {
 | 
					static bool wants_floating(struct sway_view *view) {
 | 
				
			||||||
	struct wlr_xdg_toplevel_state *state =
 | 
						struct wlr_xdg_toplevel *toplevel = view->wlr_xdg_surface->toplevel;
 | 
				
			||||||
		&view->wlr_xdg_surface->toplevel->current;
 | 
						struct wlr_xdg_toplevel_state *state = &toplevel->current;
 | 
				
			||||||
	return state->min_width != 0 && state->min_height != 0
 | 
						return (state->min_width != 0 && state->min_height != 0
 | 
				
			||||||
		&& state->min_width == state->max_width
 | 
							&& state->min_width == state->max_width
 | 
				
			||||||
		&& state->min_height == state->max_height;
 | 
							&& state->min_height == state->max_height)
 | 
				
			||||||
 | 
							|| toplevel->parent;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void for_each_surface(struct sway_view *view,
 | 
					static void for_each_surface(struct sway_view *view,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -119,11 +119,13 @@ static void set_fullscreen(struct sway_view *view, bool fullscreen) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static bool wants_floating(struct sway_view *view) {
 | 
					static bool wants_floating(struct sway_view *view) {
 | 
				
			||||||
	struct wlr_xdg_toplevel_v6_state *state =
 | 
						struct wlr_xdg_toplevel_v6 *toplevel =
 | 
				
			||||||
		&view->wlr_xdg_surface_v6->toplevel->current;
 | 
							view->wlr_xdg_surface_v6->toplevel;
 | 
				
			||||||
	return state->min_width != 0 && state->min_height != 0
 | 
						struct wlr_xdg_toplevel_v6_state *state = &toplevel->current;
 | 
				
			||||||
 | 
						return (state->min_width != 0 && state->min_height != 0
 | 
				
			||||||
		&& state->min_width == state->max_width
 | 
							&& state->min_width == state->max_width
 | 
				
			||||||
		&& state->min_height == state->max_height;
 | 
							&& state->min_height == state->max_height)
 | 
				
			||||||
 | 
							|| toplevel->parent;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void for_each_surface(struct sway_view *view,
 | 
					static void for_each_surface(struct sway_view *view,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue