i3: Handle FALLBACK output for workspaces.

sway moves the workspace to fallback_output when there is no output. For example: when all the screens are off. This commit adds an ignore for the fallback output.
This commit is contained in:
QuincePie 2024-05-18 18:17:10 -05:00 committed by Daniel Eklöf
parent b3313cefc6
commit a467f56677
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

View file

@ -514,7 +514,6 @@ handle_workspace_event(int sock, int type, const struct json_object *json, void
else if (is_move) {
struct workspace *w = workspace_lookup(m, current_id);
assert(w != NULL);
struct json_object *_current_output;
if (!json_object_object_get_ex(current, "output", &_current_output)) {
@ -522,9 +521,14 @@ handle_workspace_event(int sock, int type, const struct json_object *json, void
mtx_unlock(&mod->lock);
return false;
}
const char *current_output_string = json_object_get_string(_current_output);
/* Ignore fallback_output ("For when there's no connected outputs") */
if (strcmp(current_output_string, "FALLBACK") != 0) {
assert(w != NULL);
free(w->output);
w->output = strdup(json_object_get_string(_current_output));
w->output = strdup(current_output_string);
/*
* If the moved workspace was focused, schedule a full update because
@ -534,6 +538,7 @@ handle_workspace_event(int sock, int type, const struct json_object *json, void
i3_send_pkg(sock, I3_IPC_MESSAGE_TYPE_GET_WORKSPACES, NULL);
}
}
}
else if (is_urgent) {
struct json_object *urgent;