diff options
author | Ian Fan <ianfan0@gmail.com> | 2018-08-06 12:46:28 +0100 |
---|---|---|
committer | Ian Fan <ianfan0@gmail.com> | 2018-08-06 14:17:58 +0100 |
commit | f7c21451dfa7c4ffdce1307b5856707a0ed40405 (patch) | |
tree | 3df803a95c0a13f4dc9b627db505ba50d5e6a6d2 /sway/commands/move.c | |
parent | commands: check for special workspaces in workspace & move commands (diff) | |
download | sway-f7c21451dfa7c4ffdce1307b5856707a0ed40405.tar.gz sway-f7c21451dfa7c4ffdce1307b5856707a0ed40405.tar.zst sway-f7c21451dfa7c4ffdce1307b5856707a0ed40405.zip |
commands: fix workspace edge cases
Diffstat (limited to 'sway/commands/move.c')
-rw-r--r-- | sway/commands/move.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sway/commands/move.c b/sway/commands/move.c index 500151f7..af3dc538 100644 --- a/sway/commands/move.c +++ b/sway/commands/move.c | |||
@@ -107,8 +107,13 @@ static struct cmd_results *cmd_move_container(struct sway_container *current, | |||
107 | strcasecmp(argv[2], "current") == 0) { | 107 | strcasecmp(argv[2], "current") == 0) { |
108 | ws = workspace_by_name(argv[2]); | 108 | ws = workspace_by_name(argv[2]); |
109 | } else if (strcasecmp(argv[2], "back_and_forth") == 0) { | 109 | } else if (strcasecmp(argv[2], "back_and_forth") == 0) { |
110 | if (!(ws = workspace_by_name(argv[0])) && prev_workspace_name) { | 110 | if (!(ws = workspace_by_name(argv[2]))) { |
111 | ws = workspace_create(NULL, prev_workspace_name); | 111 | if (prev_workspace_name) { |
112 | ws = workspace_create(NULL, prev_workspace_name); | ||
113 | } else { | ||
114 | return cmd_results_new(CMD_FAILURE, "move", | ||
115 | "No workspace was previously active."); | ||
116 | } | ||
112 | } | 117 | } |
113 | } else { | 118 | } else { |
114 | char *ws_name = NULL; | 119 | char *ws_name = NULL; |