Strip quotes from workspace name.
Fix #444 This is a temporary fix, the real fix is to store the commands as a formatted argv array, so they don't have to be reformatted all over the place.
This commit is contained in:
parent
46992d6060
commit
222f0d44fc
|
@ -717,11 +717,14 @@ static struct cmd_results *cmd_move(int argc, char **argv) {
|
||||||
return cmd_results_new(CMD_FAILURE, "move", "Can only move containers and views.");
|
return cmd_results_new(CMD_FAILURE, "move", "Can only move containers and views.");
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *ws_name = argv[3];
|
char *ws_name = strdup(argv[3]);
|
||||||
|
strip_quotes(ws_name);
|
||||||
swayc_t *ws;
|
swayc_t *ws;
|
||||||
if (argc == 5 && strcasecmp(ws_name, "number") == 0) {
|
if (argc == 5 && strcasecmp(ws_name, "number") == 0) {
|
||||||
// move "container to workspace number x"
|
// move "container to workspace number x"
|
||||||
ws_name = argv[4];
|
free(ws_name);
|
||||||
|
ws_name = strdup(argv[4]);
|
||||||
|
strip_quotes(ws_name);
|
||||||
ws = workspace_by_number(ws_name);
|
ws = workspace_by_number(ws_name);
|
||||||
} else {
|
} else {
|
||||||
ws = workspace_by_name(ws_name);
|
ws = workspace_by_name(ws_name);
|
||||||
|
@ -730,6 +733,7 @@ static struct cmd_results *cmd_move(int argc, char **argv) {
|
||||||
if (ws == NULL) {
|
if (ws == NULL) {
|
||||||
ws = workspace_create(ws_name);
|
ws = workspace_create(ws_name);
|
||||||
}
|
}
|
||||||
|
free(ws_name);
|
||||||
move_container_to(view, get_focused_container(ws));
|
move_container_to(view, get_focused_container(ws));
|
||||||
} else if (strcasecmp(argv[1], "to") == 0 && strcasecmp(argv[2], "output") == 0) {
|
} else if (strcasecmp(argv[1], "to") == 0 && strcasecmp(argv[2], "output") == 0) {
|
||||||
// move container to output x
|
// move container to output x
|
||||||
|
|
|
@ -50,6 +50,7 @@ char *workspace_next_name(void) {
|
||||||
if (strcmp("workspace", cmd) == 0 && name) {
|
if (strcmp("workspace", cmd) == 0 && name) {
|
||||||
sway_log(L_DEBUG, "Got valid workspace command for target: '%s'", name);
|
sway_log(L_DEBUG, "Got valid workspace command for target: '%s'", name);
|
||||||
char *_target = strdup(name);
|
char *_target = strdup(name);
|
||||||
|
strip_quotes(_target);
|
||||||
while (isspace(*_target))
|
while (isspace(*_target))
|
||||||
_target++;
|
_target++;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue