summaryrefslogtreecommitdiff
path: root/sway/commands/focus.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/commands/focus.c')
-rw-r--r--sway/commands/focus.c6
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);