strncasecmp(bind->command, "workspace", strlen("workspace")) != 0)
continue;
DLOG("relevant command = %s\n", bind->command);
+ char *target = bind->command + strlen("workspace ");
+ if (*target == '"')
+ target++;
FREE(ws->name);
- ws->name = strdup(bind->command + strlen("workspace "));
+ ws->name = strdup(target);
+ if (ws->name[strlen(ws->name)-1] == '"')
+ ws->name[strlen(ws->name)-1] = '\0';
DLOG("trying name *%s*\n", ws->name);
TAILQ_FOREACH(out, &(croot->nodes_head), nodes)
# 2: with named workspaces, i3 should start on the first named one
##############################################################
-
-my $config = <<EOT;
+$config = <<EOT;
# i3 config file (v4)
font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
bindsym Mod1+1 workspace foobar
EOT
-my $process = launch_with_config($config);
+$process = launch_with_config($config);
+
+my @names = @{get_workspace_names()};
+cmp_deeply(\@names, [ 'foobar' ], 'i3 starts on named workspace foobar');
+
+exit_gracefully($process->pid);
+
+##############################################################
+# 3: the same test as 2, but with a quoted workspace name
+##############################################################
+
+$config = <<EOT;
+# i3 config file (v4)
+font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
+
+bindsym Mod1+1 workspace "foobar"
+EOT
+
+$process = launch_with_config($config);
my @names = @{get_workspace_names()};
cmp_deeply(\@names, [ 'foobar' ], 'i3 starts on named workspace foobar');