From 1e549230db6b088aae2733e1084c7f953ff88abd Mon Sep 17 00:00:00 2001
From: Brian Ashworth <bosrsf04@gmail.com>
Date: Tue, 3 Apr 2018 14:37:00 -0400
Subject: [PATCH] Fix name generation for workspace number <name>

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

diff --git a/sway/tree/workspace.c b/sway/tree/workspace.c
index c629f1f1..d6fd7c70 100644
--- a/sway/tree/workspace.c
+++ b/sway/tree/workspace.c
@@ -87,6 +87,24 @@ char *workspace_next_name(const char *output_name) {
 				continue;
 			}
 
+			// If the command is workspace number <name>, isolate the name
+			if (strncmp(_target, "number ", strlen("number ")) == 0) {
+				size_t length = strlen(_target) - strlen("number ") + 1;
+				char *temp = malloc(length);
+				strncpy(temp, _target + strlen("number "), length - 1);
+				temp[length - 1] = '\0';
+				free(_target);
+				_target = temp;
+				wlr_log(L_DEBUG, "Isolated name from workspace number: '%s'", _target);
+
+				// Make sure the workspace number doesn't already exist
+				if (workspace_by_number(_target)) {
+					free(_target);
+					free(dup);
+					continue;
+				}
+			}
+
 			// Make sure that the workspace doesn't already exist
 			if (workspace_by_name(_target)) {
 				free(_target);