version 1.25, 2019/08/26 16:35:41 |
version 1.26, 2020/04/13 08:26:27 |
|
|
static enum cmd_retval |
static enum cmd_retval |
cmd_swap_window_exec(struct cmd *self, struct cmdq_item *item) |
cmd_swap_window_exec(struct cmd *self, struct cmdq_item *item) |
{ |
{ |
|
struct args *args = cmd_get_args(self); |
struct session *src, *dst; |
struct session *src, *dst; |
struct session_group *sg_src, *sg_dst; |
struct session_group *sg_src, *sg_dst; |
struct winlink *wl_src, *wl_dst; |
struct winlink *wl_src, *wl_dst; |
|
|
wl_src->window = w_dst; |
wl_src->window = w_dst; |
TAILQ_INSERT_TAIL(&w_dst->winlinks, wl_src, wentry); |
TAILQ_INSERT_TAIL(&w_dst->winlinks, wl_src, wentry); |
|
|
if (args_has(self->args, 'd')) { |
if (args_has(args, 'd')) { |
session_select(dst, wl_dst->idx); |
session_select(dst, wl_dst->idx); |
if (src != dst) |
if (src != dst) |
session_select(src, wl_src->idx); |
session_select(src, wl_src->idx); |