diff --git a/sway/tree/workspace.c b/sway/tree/workspace.c index cd2a7a043..e7383de09 100644 --- a/sway/tree/workspace.c +++ b/sway/tree/workspace.c @@ -258,7 +258,8 @@ struct sway_container *workspace_by_name(const char *name) { struct sway_container *current_workspace = NULL, *current_output = NULL; struct sway_container *focus = seat_get_focus(seat); if (focus) { - current_workspace = container_parent(focus, C_WORKSPACE); + current_workspace = focus->type == C_WORKSPACE ? + focus : container_parent(focus, C_WORKSPACE); current_output = container_parent(focus, C_OUTPUT); }