summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fe-common/core/window-commands.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/fe-common/core/window-commands.c b/src/fe-common/core/window-commands.c
index c4107798..fe5fefc6 100644
--- a/src/fe-common/core/window-commands.c
+++ b/src/fe-common/core/window-commands.c
@@ -408,18 +408,25 @@ static void cmd_window_item_goto(const char *data, SERVER_REC *server)
static void cmd_window_item_move(const char *data, SERVER_REC *server,
WI_ITEM_REC *item)
{
- WINDOW_REC *window;
+ WINDOW_REC *window;
+ void *free_arg;
+ char *target;
+
+ if (!cmd_get_params(data, &free_arg, 1, &target))
+ return;
- if (is_numeric(data, '\0')) {
+ if (is_numeric(target, '\0')) {
/* move current window item to specified window */
- window = window_find_refnum(atoi(data));
+ window = window_find_refnum(atoi(target));
} else {
/* move specified window item to current window */
- item = window_item_find(server, data);
+ item = window_item_find(server, target);
window = active_win;
}
if (window != NULL && item != NULL)
- window_item_set_active(window, item);
+ window_item_set_active(window, item);
+
+ cmd_params_free(free_arg);
}
/* SYNTAX: WINDOW NUMBER [-sticky] <number> */