]> git.sur5r.net Git - i3/i3/commitdiff
also handle quoted workspace names, extend t/72 for that
authorMichael Stapelberg <michael@stapelberg.de>
Wed, 3 Aug 2011 01:33:12 +0000 (03:33 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Wed, 3 Aug 2011 01:33:12 +0000 (03:33 +0200)
src/randr.c
testcases/t/72-start-on-named-ws.t

index e9ba0f072d7f7fcc0ef1b11ebf73f8a573d62af8..441a0b43bf0e6690be541c53b1a85e8268b68e53 100644 (file)
@@ -378,8 +378,13 @@ void init_ws_for_output(Output *output, Con *content) {
             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)
index 3ba8bb68e011a414bc85958b2da2c399a1ed5209..126618671f2e5177ca2bc22b433191fb7a61277c 100644 (file)
@@ -30,15 +30,32 @@ exit_gracefully($process->pid);
 # 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');