From 10a9440055ccdda5788965bcb048207eab2a0548 Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 27 Oct 2014 22:40:29 +0000 Subject: Merge linkw and movew which are virtually identical. --- cmd-move-window.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'cmd-move-window.c') diff --git a/cmd-move-window.c b/cmd-move-window.c index eef96f1c..3064cd6e 100644 --- a/cmd-move-window.c +++ b/cmd-move-window.c @@ -36,6 +36,14 @@ const struct cmd_entry cmd_move_window_entry = { cmd_move_window_exec }; +const struct cmd_entry cmd_link_window_entry = { + "link-window", "linkw", + "dks:t:", 0, 0, + "[-dk] " CMD_SRCDST_WINDOW_USAGE, + 0, + cmd_move_window_exec +}; + enum cmd_retval cmd_move_window_exec(struct cmd *self, struct cmd_q *cmdq) { @@ -46,7 +54,8 @@ cmd_move_window_exec(struct cmd *self, struct cmd_q *cmdq) int idx, kflag, dflag; if (args_has(args, 'r')) { - if ((s = cmd_find_session(cmdq, args_get(args, 't'), 0)) == NULL) + s = cmd_find_session(cmdq, args_get(args, 't'), 0); + if (s == NULL) return (CMD_RETURN_ERROR); session_renumber_windows(s); @@ -62,12 +71,14 @@ cmd_move_window_exec(struct cmd *self, struct cmd_q *cmdq) kflag = args_has(self->args, 'k'); dflag = args_has(self->args, 'd'); - if (server_link_window(src, wl, dst, idx, kflag, !dflag, &cause) != 0) { - cmdq_error(cmdq, "can't move window: %s", cause); + if (server_link_window(src, wl, dst, idx, kflag, !dflag, + &cause) != 0) { + cmdq_error(cmdq, "can't link window: %s", cause); free(cause); return (CMD_RETURN_ERROR); } - server_unlink_window(src, wl); + if (self->entry == &cmd_move_window_entry) + server_unlink_window(src, wl); recalculate_sizes(); return (CMD_RETURN_NORMAL); -- cgit