aboutsummaryrefslogtreecommitdiffstats
path: root/sway/tree/workspace.c
diff options
context:
space:
mode:
authorLibravatar Robinhuett <5955614+Robinhuett@users.noreply.github.com>2018-10-27 15:56:06 +0200
committerLibravatar Robinhuett <5955614+Robinhuett@users.noreply.github.com>2018-10-27 15:56:06 +0200
commit0a4cf4748d842f1b4ec0e84e4b5c839dbe207652 (patch)
tree9dd23ca39d67daa6447de0f097cfd615afc87154 /sway/tree/workspace.c
parentRevert "Fix #2992" (diff)
downloadsway-0a4cf4748d842f1b4ec0e84e4b5c839dbe207652.tar.gz
sway-0a4cf4748d842f1b4ec0e84e4b5c839dbe207652.tar.zst
sway-0a4cf4748d842f1b4ec0e84e4b5c839dbe207652.zip
Use output identifier for workspace config
Diffstat (limited to 'sway/tree/workspace.c')
-rw-r--r--sway/tree/workspace.c10
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) {
35 struct workspace_config *wsc = workspace_find_config(name); 35 struct workspace_config *wsc = workspace_find_config(name);
36 if (wsc && wsc->output) { 36 if (wsc && wsc->output) {
37 struct sway_output *output = output_by_name(wsc->output); 37 struct sway_output *output = output_by_name(wsc->output);
38 if (!output) {
39 output = output_by_identifier(wsc->output);
40 }
41
38 if (output) { 42 if (output) {
39 return output; 43 return output;
40 } 44 }
@@ -143,7 +147,11 @@ void workspace_consider_destroy(struct sway_workspace *ws) {
143static bool workspace_valid_on_output(const char *output_name, 147static bool workspace_valid_on_output(const char *output_name,
144 const char *ws_name) { 148 const char *ws_name) {
145 struct workspace_config *wsc = workspace_find_config(ws_name); 149 struct workspace_config *wsc = workspace_find_config(ws_name);
146 return !wsc || !wsc->output || strcmp(wsc->output, output_name) == 0; 150 char identifier[128];
151 struct sway_output *output = output_by_name(output_name);
152 output_get_identifier(identifier, sizeof(identifier), output);
153
154 return !wsc || !wsc->output || strcmp(wsc->output, output_name) == 0 || strcasecmp(identifier, output_name) == 0;
147} 155}
148 156
149static void workspace_name_from_binding(const struct sway_binding * binding, 157static void workspace_name_from_binding(const struct sway_binding * binding,