aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sway/commands.c8
-rw-r--r--sway/handlers.c3
-rw-r--r--sway/movement.c6
-rw-r--r--sway/movement.h2
4 files changed, 9 insertions, 10 deletions
diff --git a/sway/commands.c b/sway/commands.c
index 9ce1d83e..40d9d353 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -104,13 +104,13 @@ int cmd_focus(struct sway_config *config, int argc, char **argv) {
return 1;
}
if (strcasecmp(argv[0], "left") == 0) {
- move_focus(MOVE_LEFT);
+ return move_focus(MOVE_LEFT);
} else if (strcasecmp(argv[0], "right") == 0) {
- move_focus(MOVE_RIGHT);
+ return move_focus(MOVE_RIGHT);
} else if (strcasecmp(argv[0], "up") == 0) {
- move_focus(MOVE_UP);
+ return move_focus(MOVE_UP);
} else if (strcasecmp(argv[0], "down") == 0) {
- move_focus(MOVE_DOWN);
+ return move_focus(MOVE_DOWN);
} else if (strcasecmp(argv[0], "parent") == 0) {
swayc_t *current = get_focused_container(&root_container);
if (current && current->parent) {
diff --git a/sway/handlers.c b/sway/handlers.c
index 7d45452f..b3f03d07 100644
--- a/sway/handlers.c
+++ b/sway/handlers.c
@@ -74,8 +74,7 @@ bool handle_key(wlc_handle view, uint32_t time, const struct wlc_modifiers
}
if (match) {
- ret = false;
- handle_command(config, binding->command);
+ ret = handle_command(config, binding->command) == 0;
}
}
}
diff --git a/sway/movement.c b/sway/movement.c
index 197df7b2..108e2588 100644
--- a/sway/movement.c
+++ b/sway/movement.c
@@ -5,7 +5,7 @@
#include "layout.h"
#include "movement.h"
-void move_focus(enum movement_direction direction) {
+int move_focus(enum movement_direction direction) {
swayc_t *current = get_focused_container(&root_container);
swayc_t *parent = current->parent;
@@ -42,7 +42,7 @@ void move_focus(enum movement_direction direction) {
} else {
unfocus_all(&root_container);
focus_view(parent->children->items[desired]);
- return;
+ return 0;
}
}
if (!can_move) {
@@ -51,7 +51,7 @@ void move_focus(enum movement_direction direction) {
parent = parent->parent;
if (parent->type == C_ROOT) {
// Nothing we can do
- return;
+ return 1;
}
}
}
diff --git a/sway/movement.h b/sway/movement.h
index c88b44bd..44e630ff 100644
--- a/sway/movement.h
+++ b/sway/movement.h
@@ -11,6 +11,6 @@ enum movement_direction{
MOVE_DOWN
};
-void move_focus(enum movement_direction direction);
+int move_focus(enum movement_direction direction);
#endif