diff options
-rw-r--r-- | include/sway/tree/container.h | 6 | ||||
-rw-r--r-- | sway/commands/move.c | 4 | ||||
-rw-r--r-- | sway/input/cursor.c | 2 | ||||
-rw-r--r-- | sway/tree/container.c | 8 |
4 files changed, 10 insertions, 10 deletions
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index c3942e9e..44ff9f7d 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h @@ -234,9 +234,9 @@ struct sway_container *container_at(struct sway_container *workspace, double lx, double ly, struct wlr_surface **surface, double *sx, double *sy); -struct sway_container *container_at_view(struct sway_container *view, - double lx, double ly, struct wlr_surface **surface, - double *sx, double *sy); +struct sway_container *tiling_container_at( + struct sway_container *con, double lx, double ly, + struct wlr_surface **surface, double *sx, double *sy); /** * Apply the function for each descendant of the container breadth first. diff --git a/sway/commands/move.c b/sway/commands/move.c index 702b42d9..1e8b76f9 100644 --- a/sway/commands/move.c +++ b/sway/commands/move.c @@ -59,6 +59,10 @@ static struct cmd_results *cmd_move_container(struct sway_container *current, && strcasecmp(argv[2], "workspace") == 0) { // move container to workspace x if (current->type == C_WORKSPACE) { + if (current->children->length == 0) { + return cmd_results_new(CMD_FAILURE, "move", + "Can't move an empty workspace"); + } current = container_wrap_children(current); } else if (current->type != C_CONTAINER && current->type != C_VIEW) { return cmd_results_new(CMD_FAILURE, "move", diff --git a/sway/input/cursor.c b/sway/input/cursor.c index c2fc4e9e..80b4f9dc 100644 --- a/sway/input/cursor.c +++ b/sway/input/cursor.c @@ -99,7 +99,7 @@ static struct sway_container *container_at_coords( return ws; } if (ws->sway_workspace->fullscreen) { - return container_at_view(ws->sway_workspace->fullscreen, lx, ly, + return tiling_container_at(ws->sway_workspace->fullscreen, lx, ly, surface, sx, sy); } if ((*surface = layer_surface_at(output, diff --git a/sway/tree/container.c b/sway/tree/container.c index 46c54e2d..4a503652 100644 --- a/sway/tree/container.c +++ b/sway/tree/container.c @@ -535,7 +535,7 @@ struct sway_container *container_parent(struct sway_container *container, return container; } -struct sway_container *container_at_view(struct sway_container *swayc, +static struct sway_container *container_at_view(struct sway_container *swayc, double lx, double ly, struct wlr_surface **surface, double *sx, double *sy) { if (!sway_assert(swayc->type == C_VIEW, "Expected a view")) { @@ -574,10 +574,6 @@ struct sway_container *container_at_view(struct sway_container *swayc, return NULL; } -static struct sway_container *tiling_container_at( - struct sway_container *con, double lx, double ly, - struct wlr_surface **surface, double *sx, double *sy); - /** * container_at for a container with layout L_TABBED. */ @@ -684,7 +680,7 @@ static struct sway_container *floating_container_at(double lx, double ly, return NULL; } -static struct sway_container *tiling_container_at( +struct sway_container *tiling_container_at( struct sway_container *con, double lx, double ly, struct wlr_surface **surface, double *sx, double *sy) { if (con->type == C_VIEW) { |