@ -22,10 +22,10 @@ struct cmd_results *cmd_layout(int argc, char **argv) {
enum swayc_layouts old_layout = parent - > layout ;
if ( strcasecmp ( argv [ 0 ] , " default " ) = = 0 ) {
parent - > layout = parent - > prev_layout ;
swayc_change_layout ( parent , parent - > prev_layout ) ;
if ( parent - > layout = = L_NONE ) {
swayc_t * output = swayc_parent_by_type ( parent , C_OUTPUT ) ;
parent - > layout = default_layout ( output ) ;
swayc_change_layout ( parent , default_layout ( output ) ) ;
}
} else {
if ( parent - > layout ! = L_TABBED & & parent - > layout ! = L_STACKED ) {
@ -37,22 +37,22 @@ struct cmd_results *cmd_layout(int argc, char **argv) {
parent = new_container ( parent , L_TABBED ) ;
}
parent - > layout = L_TABBED ;
swayc_change_layout ( parent , L_TABBED ) ;
} else if ( strcasecmp ( argv [ 0 ] , " stacking " ) = = 0 ) {
if ( parent - > type ! = C_CONTAINER & & ! swayc_is_empty_workspace ( parent ) ) {
parent = new_container ( parent , L_STACKED ) ;
}
parent - > layout = L_STACKED ;
swayc_change_layout ( parent , L_STACKED ) ;
} else if ( strcasecmp ( argv [ 0 ] , " splith " ) = = 0 ) {
parent - > layout = L_HORIZ ;
swayc_change_layout ( parent , L_HORIZ ) ;
} else if ( strcasecmp ( argv [ 0 ] , " splitv " ) = = 0 ) {
parent - > layout = L_VERT ;
swayc_change_layout ( parent , L_VERT ) ;
} else if ( strcasecmp ( argv [ 0 ] , " toggle " ) = = 0 & & argc = = 2 & & strcasecmp ( argv [ 1 ] , " split " ) = = 0 ) {
if ( parent - > layout = = L_VERT ) {
parent - > layout = L_HORIZ ;
swayc_change_layout ( parent , L_HORIZ ) ;
} else {
parent - > layout = L_VERT ;
swayc_change_layout ( parent , L_VERT ) ;
}
}
}