version 1.18, 2016/10/16 19:04:05 |
version 1.19, 2017/04/22 08:56:24 |
|
|
static enum cmd_retval |
static enum cmd_retval |
cmd_select_window_exec(struct cmd *self, struct cmdq_item *item) |
cmd_select_window_exec(struct cmd *self, struct cmdq_item *item) |
{ |
{ |
struct winlink *wl = item->state.tflag.wl; |
struct cmd_find_state *current = &item->shared->current; |
struct session *s = item->state.tflag.s; |
struct winlink *wl = item->state.tflag.wl; |
int next, previous, last, activity; |
struct session *s = item->state.tflag.s; |
|
int next, previous, last, activity; |
|
|
next = self->entry == &cmd_next_window_entry; |
next = self->entry == &cmd_next_window_entry; |
if (args_has(self->args, 'n')) |
if (args_has(self->args, 'n')) |
|
|
return (CMD_RETURN_ERROR); |
return (CMD_RETURN_ERROR); |
} |
} |
} |
} |
|
cmd_find_from_session(&item->shared->current, s); |
server_redraw_session(s); |
server_redraw_session(s); |
} else { |
} else { |
/* |
/* |
|
|
cmdq_error(item, "no last window"); |
cmdq_error(item, "no last window"); |
return (-1); |
return (-1); |
} |
} |
|
if (current->s == s) |
|
cmd_find_from_session(current, s); |
server_redraw_session(s); |
server_redraw_session(s); |
} else if (session_select(s, wl->idx) == 0) |
} else if (session_select(s, wl->idx) == 0) { |
|
cmd_find_from_session(current, s); |
server_redraw_session(s); |
server_redraw_session(s); |
|
} |
} |
} |
recalculate_sizes(); |
recalculate_sizes(); |
|
|