From 0a4cf4748d842f1b4ec0e84e4b5c839dbe207652 Mon Sep 17 00:00:00 2001
From: Robinhuett <5955614+Robinhuett@users.noreply.github.com>
Date: Sat, 27 Oct 2018 15:56:06 +0200
Subject: Use output identifier for workspace config

---
 sway/tree/workspace.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

(limited to 'sway/tree')

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,
-- 
cgit v1.2.3