aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sway/commands/focus.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/sway/commands/focus.c b/sway/commands/focus.c
index 894025ad..9cd8bfae 100644
--- a/sway/commands/focus.c
+++ b/sway/commands/focus.c
@@ -57,15 +57,8 @@ static struct cmd_results *focus_output(struct sway_container *con,
if (!output) {
enum movement_direction direction;
- if (strcmp(identifier, "left") == 0) {
- direction = MOVE_LEFT;
- } else if (strcmp(identifier, "right") == 0) {
- direction = MOVE_RIGHT;
- } else if (strcmp(identifier, "up") == 0) {
- direction = MOVE_UP;
- } else if (strcmp(identifier, "down") == 0) {
- direction = MOVE_DOWN;
- } else {
+ if (!parse_movement_direction(identifier, &direction) ||
+ direction == MOVE_PARENT || direction == MOVE_CHILD) {
free(identifier);
return cmd_results_new(CMD_INVALID, "focus",
"There is no output with that name");