diff options
author | mliszcz <liszcz.michal@gmail.com> | 2019-03-23 11:32:44 +0100 |
---|---|---|
committer | Brian Ashworth <bosrsf04@gmail.com> | 2019-03-23 17:49:27 -0400 |
commit | 200833caaea36dd65324e5460520731f5c98ff8a (patch) | |
tree | c0ecf9b611435f19a62682a0ee0feb564aa29acb /sway/commands/rename.c | |
parent | fix opening a floating view on the NOOP output (diff) | |
download | sway-200833caaea36dd65324e5460520731f5c98ff8a.tar.gz sway-200833caaea36dd65324e5460520731f5c98ff8a.tar.zst sway-200833caaea36dd65324e5460520731f5c98ff8a.zip |
Allow for workspace renaming during exec handling
This change adds support for renaming a workspace when `exec` command
is being processed by keeping sway_workspace and pid_workspace names in
sync.
The change can be verified by running following command:
swaymsg exec <application>; swaymsg rename workspace number 1 to 5
Fixes: #3952
Diffstat (limited to 'sway/commands/rename.c')
-rw-r--r-- | sway/commands/rename.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sway/commands/rename.c b/sway/commands/rename.c index 88377b09..3b855fdf 100644 --- a/sway/commands/rename.c +++ b/sway/commands/rename.c | |||
@@ -9,6 +9,7 @@ | |||
9 | #include "sway/output.h" | 9 | #include "sway/output.h" |
10 | #include "sway/tree/container.h" | 10 | #include "sway/tree/container.h" |
11 | #include "sway/tree/workspace.h" | 11 | #include "sway/tree/workspace.h" |
12 | #include "sway/tree/root.h" | ||
12 | 13 | ||
13 | static const char expected_syntax[] = | 14 | static const char expected_syntax[] = |
14 | "Expected 'rename workspace <old_name> to <new_name>' or " | 15 | "Expected 'rename workspace <old_name> to <new_name>' or " |
@@ -89,6 +90,9 @@ struct cmd_results *cmd_rename(int argc, char **argv) { | |||
89 | } | 90 | } |
90 | 91 | ||
91 | sway_log(SWAY_DEBUG, "renaming workspace '%s' to '%s'", workspace->name, new_name); | 92 | sway_log(SWAY_DEBUG, "renaming workspace '%s' to '%s'", workspace->name, new_name); |
93 | |||
94 | root_rename_pid_workspaces(workspace->name, new_name); | ||
95 | |||
92 | free(workspace->name); | 96 | free(workspace->name); |
93 | workspace->name = new_name; | 97 | workspace->name = new_name; |
94 | 98 | ||