diff --git a/sway/commands/split.c b/sway/commands/split.c index 6df20e88..fe4013e9 100644 --- a/sway/commands/split.c +++ b/sway/commands/split.c @@ -76,6 +76,7 @@ struct cmd_results *cmd_split(int argc, char **argv) { strcasecmp(argv[0], "toggle") == 0) { struct sway_container *focused = config->handler_context.current_container; + if (focused->parent->layout == L_VERT) { _do_split(argc - 1, argv + 1, L_HORIZ); } else { diff --git a/sway/input/seat.c b/sway/input/seat.c index a1b1caa8..1fd204d4 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c @@ -92,7 +92,6 @@ static void handle_seat_container_destroy(struct wl_listener *listener, struct sway_container *parent = con->parent; struct sway_container *focus = sway_seat_get_focus(seat); - // TODO handle workspace switch in the seat? bool set_focus = focus != NULL && (focus == con || container_has_child(con, focus)) && diff --git a/sway/tree/container.c b/sway/tree/container.c index 41ba973f..9205d929 100644 --- a/sway/tree/container.c +++ b/sway/tree/container.c @@ -424,7 +424,7 @@ bool container_has_anscestor(struct sway_container *descendant, return false; } -bool find_child_func(struct sway_container *con, void *data) { +static bool find_child_func(struct sway_container *con, void *data) { struct sway_container *child = data; return con == child; } diff --git a/sway/tree/layout.c b/sway/tree/layout.c index 83e4fe37..e13c2ac4 100644 --- a/sway/tree/layout.c +++ b/sway/tree/layout.c @@ -101,8 +101,6 @@ void container_add_child(struct sway_container *parent, parent, parent->type, parent->width, parent->height); list_add(parent->children, child); child->parent = parent; - // TODO: set focus for this container? - sway_input_manager_set_focus(input_manager, child); } struct sway_container *container_reap_empty(struct sway_container *container) { @@ -632,7 +630,8 @@ struct sway_container *container_get_in_direction( wrap_candidate = parent->children->items[0]; } if (config->force_focus_wrapping) { - return sway_seat_get_focus_by_type(seat, wrap_candidate, C_VIEW); + return sway_seat_get_focus_by_type(seat, + wrap_candidate, C_VIEW); } } } else {