From c0c4e260c45a07b98fc90276a9ca7b6cf06b3d0b Mon Sep 17 00:00:00 2001 From: Ragnar Groot Koerkamp Date: Fri, 18 Jun 2021 17:05:23 +0200 Subject: Revert "Add workspace {prev,next}_on_output --create" This reverts commit 487c83f0de9ca2a7650ad636eed6fd694ddcb82e. The --create flag is undocumented, not in i3, and at least partially broken (#5913), so this removes the feature. --- sway/tree/workspace.c | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) (limited to 'sway/tree/workspace.c') diff --git a/sway/tree/workspace.c b/sway/tree/workspace.c index 7e98dc92..8dd7789d 100644 --- a/sway/tree/workspace.c +++ b/sway/tree/workspace.c @@ -222,10 +222,8 @@ static void workspace_name_from_binding(const struct sway_binding * binding, // not a command about workspaces if (strcmp(_target, "next") == 0 || strcmp(_target, "prev") == 0 || - strncmp(_target, "next_on_output", - strlen("next_on_output")) == 0 || - strncmp(_target, "prev_on_output", - strlen("next_on_output")) == 0 || + strcmp(_target, "next_on_output") == 0 || + strcmp(_target, "prev_on_output") == 0 || strcmp(_target, "number") == 0 || strcmp(_target, "back_and_forth") == 0 || strcmp(_target, "current") == 0) { @@ -363,11 +361,11 @@ struct sway_workspace *workspace_by_name(const char *name) { if (current && strcmp(name, "prev") == 0) { return workspace_prev(current); } else if (current && strcmp(name, "prev_on_output") == 0) { - return workspace_output_prev(current, false); + return workspace_output_prev(current); } else if (current && strcmp(name, "next") == 0) { return workspace_next(current); } else if (current && strcmp(name, "next_on_output") == 0) { - return workspace_output_next(current, false); + return workspace_output_next(current); } else if (strcmp(name, "current") == 0) { return current; } else if (strcasecmp(name, "back_and_forth") == 0) { @@ -530,7 +528,7 @@ struct sway_workspace *workspace_next(struct sway_workspace *workspace) { * otherwise the next one is returned. */ static struct sway_workspace *workspace_output_prev_next_impl( - struct sway_output *output, int dir, bool create) { + struct sway_output *output, int dir) { struct sway_seat *seat = input_manager_current_seat(); struct sway_workspace *workspace = seat_get_focused_workspace(seat); if (!workspace) { @@ -540,25 +538,17 @@ static struct sway_workspace *workspace_output_prev_next_impl( } int index = list_find(output->workspaces, workspace); - if (!workspace_is_empty(workspace) && create && - (index + dir < 0 || index + dir == output->workspaces->length)) { - struct sway_output *output = workspace->output; - char *next = workspace_next_name(output->wlr_output->name); - workspace_create(output, next); - free(next); - } size_t new_index = wrap(index + dir, output->workspaces->length); return output->workspaces->items[new_index]; } -struct sway_workspace *workspace_output_next( - struct sway_workspace *current, bool create) { - return workspace_output_prev_next_impl(current->output, 1, create); + +struct sway_workspace *workspace_output_next(struct sway_workspace *current) { + return workspace_output_prev_next_impl(current->output, 1); } -struct sway_workspace *workspace_output_prev( - struct sway_workspace *current, bool create) { - return workspace_output_prev_next_impl(current->output, -1, create); +struct sway_workspace *workspace_output_prev(struct sway_workspace *current) { + return workspace_output_prev_next_impl(current->output, -1); } struct sway_workspace *workspace_auto_back_and_forth( -- cgit v1.2.3-54-g00ecf