aboutsummaryrefslogtreecommitdiff
path: root/sway/tree
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-04-03 15:58:12 -0400
committerGitHub <noreply@github.com>2018-04-03 15:58:12 -0400
commit1a5785b0c32c8b534f3461f3557f26369a9bae8a (patch)
treec3e2582ef238caf3c9a80957009513d7be35afde /sway/tree
parentf366ef373e3309cb973c0ae8280c1219da1724fa (diff)
parent1e549230db6b088aae2733e1084c7f953ff88abd (diff)
downloadsway-1a5785b0c32c8b534f3461f3557f26369a9bae8a.tar.xz
Merge pull request #1712 from RedSoxFan/workspace-number-names
Fix name generation from workspace number commands
Diffstat (limited to 'sway/tree')
-rw-r--r--sway/tree/workspace.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/sway/tree/workspace.c b/sway/tree/workspace.c
index 74330884..8077de2e 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);