@ -729,10 +729,29 @@ void view_map(struct sway_view *view, struct wlr_surface *wlr_surface,
 
			
		
	
		
			
				
						} 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						struct  sway_seat  * seat  =  input_manager_current_seat ( ) ; 
 
			
		
	
		
			
				
						struct  sway_node  * node  =  ws  ?  seat_get_focus_inactive ( seat ,  & ws - > node ) 
 
			
		
	
		
			
				
							:  seat_get_focus_inactive ( seat ,  & root - > node ) ; 
 
			
		
	
		
			
				
						struct  sway_container  * target_sibling  =  node - > type  = =  N_CONTAINER  ? 
 
			
		
	
		
			
				
							node - > sway_container  :  NULL ; 
 
			
		
	
		
			
				
						struct  sway_node  * node  = 
 
			
		
	
		
			
				
							seat_get_focus_inactive ( seat ,  ws  ?  & ws - > node  :  & root - > node ) ; 
 
			
		
	
		
			
				
						struct  sway_container  * target_sibling  =  NULL ; 
 
			
		
	
		
			
				
						if  ( node  & &  node - > type  = =  N_CONTAINER )  { 
 
			
		
	
		
			
				
							if  ( container_is_floating ( node - > sway_container ) )  { 
 
			
		
	
		
			
				
								// If we're about to launch the view into the floating container, then
 
 
			
		
	
		
			
				
								// launch it as a tiled view instead.
 
 
			
		
	
		
			
				
								if  ( ws )  { 
 
			
		
	
		
			
				
									target_sibling  =  seat_get_focus_inactive_tiling ( seat ,  ws ) ; 
 
			
		
	
		
			
				
									if  ( target_sibling )  { 
 
			
		
	
		
			
				
										struct  sway_container  * con  = 
 
			
		
	
		
			
				
											seat_get_focus_inactive_view ( seat ,  & target_sibling - > node ) ; 
 
			
		
	
		
			
				
										if  ( con )   { 
 
			
		
	
		
			
				
											target_sibling  =  con ; 
 
			
		
	
		
			
				
										} 
 
			
		
	
		
			
				
									} 
 
			
		
	
		
			
				
								}  else  { 
 
			
		
	
		
			
				
									ws  =  seat_get_last_known_workspace ( seat ) ; 
 
			
		
	
		
			
				
								} 
 
			
		
	
		
			
				
							}  else  { 
 
			
		
	
		
			
				
								target_sibling  =  node - > sway_container ; 
 
			
		
	
		
			
				
							} 
 
			
		
	
		
			
				
						} 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						view - > foreign_toplevel  = 
 
			
		
	
		
			
				
							wlr_foreign_toplevel_handle_v1_create ( server . foreign_toplevel_manager ) ; 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -749,13 +768,6 @@ void view_map(struct sway_view *view, struct wlr_surface *wlr_surface,
 
			
		
	
		
			
				
						wl_signal_add ( & view - > foreign_toplevel - > events . destroy , 
 
			
		
	
		
			
				
								& view - > foreign_destroy ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						// If we're about to launch the view into the floating container, then
 
 
			
		
	
		
			
				
						// launch it as a tiled view in the root of the workspace instead.
 
 
			
		
	
		
			
				
						if  ( target_sibling  & &  container_is_floating ( target_sibling ) )  { 
 
			
		
	
		
			
				
							target_sibling  =  NULL ; 
 
			
		
	
		
			
				
							ws  =  seat_get_last_known_workspace ( seat ) ; 
 
			
		
	
		
			
				
						} 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						struct  sway_container  * container  =  view - > container ; 
 
			
		
	
		
			
				
						if  ( target_sibling )  { 
 
			
		
	
		
			
				
							container_add_sibling ( target_sibling ,  container ,  1 ) ;