aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/sway/tree/container.h6
-rw-r--r--sway/commands/move.c4
-rw-r--r--sway/input/cursor.c2
-rw-r--r--sway/tree/container.c8
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) {