diff options
author | Robinhuett <5955614+Robinhuett@users.noreply.github.com> | 2018-10-27 15:56:06 +0200 |
---|---|---|
committer | Robinhuett <5955614+Robinhuett@users.noreply.github.com> | 2018-10-27 15:56:06 +0200 |
commit | 0a4cf4748d842f1b4ec0e84e4b5c839dbe207652 (patch) | |
tree | 9dd23ca39d67daa6447de0f097cfd615afc87154 /sway/tree | |
parent | 5a98dfee0266f33165159b31a996c73d5ff607fb (diff) |
Use output identifier for workspace config
Diffstat (limited to 'sway/tree')
-rw-r--r-- | sway/tree/workspace.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sway/tree/workspace.c b/sway/tree/workspace.c index 27e9ac7a..05cda5c0 100644 --- a/sway/tree/workspace.c +++ b/sway/tree/workspace.c @@ -35,6 +35,10 @@ struct sway_output *workspace_get_initial_output(const char *name) { struct workspace_config *wsc = workspace_find_config(name); if (wsc && wsc->output) { struct sway_output *output = output_by_name(wsc->output); + if (!output) { + output = output_by_identifier(wsc->output); + } + if (output) { return output; } @@ -143,7 +147,11 @@ void workspace_consider_destroy(struct sway_workspace *ws) { static bool workspace_valid_on_output(const char *output_name, const char *ws_name) { struct workspace_config *wsc = workspace_find_config(ws_name); - return !wsc || !wsc->output || strcmp(wsc->output, output_name) == 0; + char identifier[128]; + struct sway_output *output = output_by_name(output_name); + output_get_identifier(identifier, sizeof(identifier), output); + + return !wsc || !wsc->output || strcmp(wsc->output, output_name) == 0 || strcasecmp(identifier, output_name) == 0; } static void workspace_name_from_binding(const struct sway_binding * binding, |