diff options
Diffstat (limited to 'sway/commands/focus.c')
-rw-r--r-- | sway/commands/focus.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sway/commands/focus.c b/sway/commands/focus.c index 81af8e0f..2204f722 100644 --- a/sway/commands/focus.c +++ b/sway/commands/focus.c @@ -224,6 +224,10 @@ struct cmd_results *cmd_focus(int argc, char **argv) { if (config->reading || !config->active) { return cmd_results_new(CMD_DEFER, NULL, NULL); } + if (!root->outputs->length) { + return cmd_results_new(CMD_INVALID, "focus", + "Can't run this command while there's no outputs connected."); + } struct sway_node *node = config->handler_context.node; struct sway_container *container = config->handler_context.container; struct sway_workspace *workspace = config->handler_context.workspace; @@ -236,7 +240,6 @@ struct cmd_results *cmd_focus(int argc, char **argv) { if (argc == 0 && container) { seat_set_focus_container(seat, container); seat_consider_warp_to_focus(seat); - cursor_rebase(seat->cursor); return cmd_results_new(CMD_SUCCESS, NULL, NULL); } @@ -294,7 +297,6 @@ struct cmd_results *cmd_focus(int argc, char **argv) { if (next_focus) { seat_set_focus(seat, next_focus); seat_consider_warp_to_focus(seat); - cursor_rebase(seat->cursor); } return cmd_results_new(CMD_SUCCESS, NULL, NULL); |