Allow multiple outputs for workspace output

`i3 4.16` allows users to list multiple outputs for a workspace and the
first available will be used. The syntax is as follows:
`workspace <workspace> output <outputs...>`

Additionally when the workspace is created, the outputs get added to the
output priority list in the order specified. This ensures that if a higher
output gets connected, the workspace will move to the higher output. This
works the same way as if the user had a workspace on an output, disconnected
the output, and then later reconnected the output.
This commit is contained in:
Brian Ashworth 2018-11-11 11:22:38 -05:00
parent 80a1c340a9
commit 12876932a9
5 changed files with 66 additions and 25 deletions

View file

@ -31,6 +31,13 @@ static void restore_workspaces(struct sway_output *output) {
j--;
}
}
if (other->workspaces->length == 0) {
char *next = workspace_next_name(other->wlr_output->name);
struct sway_workspace *ws = workspace_create(other, next);
free(next);
ipc_event_workspace(NULL, ws, "init");
}
}
// Saved workspaces