commit 8b7008a2962ac44510531c066adef73e01e653eb
parent f8c6fc1944304ede26fc2f6fb7020535bf4c6cce
Author: Konstantin Pospelov <kupospelov@gmail.com>
Date: Sat, 30 Jan 2021 10:11:09 +0100
Check the output state for recorded workspaces
Sway records pid, workspace, and output for every new process. However, if the
output gets disabled and the workspace disappears, the workspace is still
re-created on the disabled output. This commit adds a check for the enabled
flag, so that NULL will be passed to workspace_create() in this case.
Diffstat:
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/sway/tree/root.c b/sway/tree/root.c
@@ -270,7 +270,16 @@ found:
sway_log(SWAY_DEBUG,
"Creating workspace %s for pid %d because it disappeared",
pw->workspace, pid);
- ws = workspace_create(pw->output, pw->workspace);
+
+ struct sway_output *output = pw->output;
+ if (pw->output && !pw->output->enabled) {
+ sway_log(SWAY_DEBUG,
+ "Workspace output %s is disabled, trying another one",
+ pw->output->wlr_output->name);
+ output = NULL;
+ }
+
+ ws = workspace_create(output, pw->workspace);
}
pid_workspace_destroy(pw);