aboutsummaryrefslogtreecommitdiffstats
path: root/sway/commands/rename.c
diff options
context:
space:
mode:
authorLibravatar mliszcz <liszcz.michal@gmail.com>2019-03-23 11:32:44 +0100
committerLibravatar Brian Ashworth <bosrsf04@gmail.com>2019-03-23 17:49:27 -0400
commit200833caaea36dd65324e5460520731f5c98ff8a (patch)
treec0ecf9b611435f19a62682a0ee0feb564aa29acb /sway/commands/rename.c
parentfix opening a floating view on the NOOP output (diff)
downloadsway-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.c4
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
13static const char expected_syntax[] = 14static 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