@ -388,6 +388,8 @@ static bool container_move_in_direction(struct sway_container *container,
return false ;
return false ;
}
}
static struct cmd_results * cmd_move_to_scratchpad ( void ) ;
static struct cmd_results * cmd_move_container ( bool no_auto_back_and_forth ,
static struct cmd_results * cmd_move_container ( bool no_auto_back_and_forth ,
int argc , char * * argv ) {
int argc , char * * argv ) {
struct cmd_results * error = NULL ;
struct cmd_results * error = NULL ;
@ -505,6 +507,11 @@ static struct cmd_results *cmd_move_container(bool no_auto_back_and_forth,
return cmd_results_new ( CMD_INVALID , expected_syntax ) ;
return cmd_results_new ( CMD_INVALID , expected_syntax ) ;
}
}
if ( destination - > type = = N_CONTAINER & &
container_is_scratchpad_hidden ( destination - > sway_container ) ) {
return cmd_move_to_scratchpad ( ) ;
}
if ( container - > is_sticky & & container_is_floating_or_child ( container ) & &
if ( container - > is_sticky & & container_is_floating_or_child ( container ) & &
old_output & & node_has_ancestor ( destination , & old_output - > node ) ) {
old_output & & node_has_ancestor ( destination , & old_output - > node ) ) {
return cmd_results_new ( CMD_FAILURE , " Can't move sticky "
return cmd_results_new ( CMD_FAILURE , " Can't move sticky "