|  |  |  | @ -675,10 +675,6 @@ static struct cmd_results *cmd_move_in_direction( | 
			
		
	
		
			
				
					|  |  |  |  | 		return cmd_results_new(CMD_FAILURE, | 
			
		
	
		
			
				
					|  |  |  |  | 				"Cannot move workspaces in a direction"); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	if (container_is_scratchpad_hidden(container)) { | 
			
		
	
		
			
				
					|  |  |  |  | 		return cmd_results_new(CMD_FAILURE, | 
			
		
	
		
			
				
					|  |  |  |  | 				"Cannot move a hidden scratchpad container"); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	if (container_is_floating(container)) { | 
			
		
	
		
			
				
					|  |  |  |  | 		if (container->fullscreen_mode) { | 
			
		
	
		
			
				
					|  |  |  |  | 			return cmd_results_new(CMD_FAILURE, | 
			
		
	
	
		
			
				
					|  |  |  | @ -750,10 +746,6 @@ static struct cmd_results *cmd_move_to_position(int argc, char **argv) { | 
			
		
	
		
			
				
					|  |  |  |  | 		return cmd_results_new(CMD_FAILURE, "Only floating containers " | 
			
		
	
		
			
				
					|  |  |  |  | 				"can be moved to an absolute position"); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	if (container_is_scratchpad_hidden(container)) { | 
			
		
	
		
			
				
					|  |  |  |  | 		return cmd_results_new(CMD_FAILURE, | 
			
		
	
		
			
				
					|  |  |  |  | 				"Cannot move a hidden scratchpad container"); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	if (!argc) { | 
			
		
	
		
			
				
					|  |  |  |  | 		return cmd_results_new(CMD_INVALID, expected_position_syntax); | 
			
		
	
	
		
			
				
					|  |  |  | @ -795,6 +787,10 @@ static struct cmd_results *cmd_move_to_position(int argc, char **argv) { | 
			
		
	
		
			
				
					|  |  |  |  | 			ly = root->y + (root->height - container->height) / 2; | 
			
		
	
		
			
				
					|  |  |  |  | 		} else { | 
			
		
	
		
			
				
					|  |  |  |  | 			struct sway_workspace *ws = container->workspace; | 
			
		
	
		
			
				
					|  |  |  |  | 			if (!ws) { | 
			
		
	
		
			
				
					|  |  |  |  | 				struct sway_seat *seat = config->handler_context.seat; | 
			
		
	
		
			
				
					|  |  |  |  | 				ws = seat_get_focused_workspace(seat); | 
			
		
	
		
			
				
					|  |  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  |  | 			lx = ws->x + (ws->width - container->width) / 2; | 
			
		
	
		
			
				
					|  |  |  |  | 			ly = ws->y + (ws->height - container->height) / 2; | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  |  | @ -828,8 +824,13 @@ static struct cmd_results *cmd_move_to_position(int argc, char **argv) { | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	if (!absolute) { | 
			
		
	
		
			
				
					|  |  |  |  | 		lx += container->workspace->x; | 
			
		
	
		
			
				
					|  |  |  |  | 		ly += container->workspace->y; | 
			
		
	
		
			
				
					|  |  |  |  | 		struct sway_workspace *ws = container->workspace; | 
			
		
	
		
			
				
					|  |  |  |  | 		if (!ws) { | 
			
		
	
		
			
				
					|  |  |  |  | 			struct sway_seat *seat = config->handler_context.seat; | 
			
		
	
		
			
				
					|  |  |  |  | 			ws = seat_get_focused_workspace(seat); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 		lx += ws->x; | 
			
		
	
		
			
				
					|  |  |  |  | 		ly += ws->y; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	container_floating_move_to(container, lx, ly); | 
			
		
	
		
			
				
					|  |  |  |  | 	return cmd_results_new(CMD_SUCCESS, NULL); | 
			
		
	
	
		
			
				
					|  |  |  | 
 |