|  |  |  | @ -291,8 +291,8 @@ void sway_seat_configure_xcursor(struct sway_seat *seat) { | 
			
		
	
		
			
				
					|  |  |  |  | 		seat->cursor->cursor->y); | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | void sway_seat_set_focus(struct sway_seat *seat, | 
			
		
	
		
			
				
					|  |  |  |  | 		struct sway_container *container) { | 
			
		
	
		
			
				
					|  |  |  |  | void _sway_seat_set_focus(struct sway_seat *seat, | 
			
		
	
		
			
				
					|  |  |  |  | 		struct sway_container *container, bool warp) { | 
			
		
	
		
			
				
					|  |  |  |  | 	struct sway_container *last_focus = sway_seat_get_focus(seat); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	if (container && last_focus == container) { | 
			
		
	
	
		
			
				
					|  |  |  | @ -349,7 +349,9 @@ void sway_seat_set_focus(struct sway_seat *seat, | 
			
		
	
		
			
				
					|  |  |  |  | 		if (new_output && new_output->type != C_OUTPUT) { | 
			
		
	
		
			
				
					|  |  |  |  | 			new_output = container_parent(new_output, C_OUTPUT); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 		if (new_output != last_output && config->mouse_warping) { | 
			
		
	
		
			
				
					|  |  |  |  | 		if (new_output && last_output && new_output != last_output | 
			
		
	
		
			
				
					|  |  |  |  | 				&& config->mouse_warping && warp) { | 
			
		
	
		
			
				
					|  |  |  |  | 			wlr_log(L_DEBUG, "warpin the mouse baby"); | 
			
		
	
		
			
				
					|  |  |  |  | 			struct wlr_output *output = new_output->sway_output->wlr_output; | 
			
		
	
		
			
				
					|  |  |  |  | 			// TODO: Change container coords to layout coords
 | 
			
		
	
		
			
				
					|  |  |  |  | 			double x = container->x + output->lx + container->width / 2.0; | 
			
		
	
	
		
			
				
					|  |  |  | @ -367,6 +369,11 @@ void sway_seat_set_focus(struct sway_seat *seat, | 
			
		
	
		
			
				
					|  |  |  |  | 	seat->has_focus = (container != NULL); | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | void sway_seat_set_focus(struct sway_seat *seat, | 
			
		
	
		
			
				
					|  |  |  |  | 		struct sway_container *container) { | 
			
		
	
		
			
				
					|  |  |  |  | 	_sway_seat_set_focus(seat, container, true); | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | struct sway_container *sway_seat_get_focus_inactive(struct sway_seat *seat, struct sway_container *container) { | 
			
		
	
		
			
				
					|  |  |  |  | 	struct sway_seat_container *current = NULL; | 
			
		
	
		
			
				
					|  |  |  |  | 	struct sway_container *parent = NULL; | 
			
		
	
	
		
			
				
					|  |  |  | 
 |