version 1.18, 2015/02/09 23:18:19 |
version 1.19, 2015/04/19 21:34:21 |
|
|
|
|
const struct cmd_entry cmd_copy_mode_entry = { |
const struct cmd_entry cmd_copy_mode_entry = { |
"copy-mode", NULL, |
"copy-mode", NULL, |
"t:u", 0, 0, |
"Mt:u", 0, 0, |
"[-u] " CMD_TARGET_PANE_USAGE, |
"[-Mu] " CMD_TARGET_PANE_USAGE, |
0, |
0, |
cmd_copy_mode_exec |
cmd_copy_mode_exec |
}; |
}; |
|
|
cmd_copy_mode_exec(struct cmd *self, struct cmd_q *cmdq) |
cmd_copy_mode_exec(struct cmd *self, struct cmd_q *cmdq) |
{ |
{ |
struct args *args = self->args; |
struct args *args = self->args; |
|
struct client *c = cmdq->client; |
|
struct session *s; |
struct window_pane *wp; |
struct window_pane *wp; |
|
|
if (cmd_find_pane(cmdq, args_get(args, 't'), NULL, &wp) == NULL) |
if (args_has(args, 'M')) { |
|
if ((wp = cmd_mouse_pane(&cmdq->item->mouse, &s, NULL)) == NULL) |
|
return (CMD_RETURN_NORMAL); |
|
if (c == NULL || c->session != s) |
|
return (CMD_RETURN_NORMAL); |
|
} else if (cmd_find_pane(cmdq, args_get(args, 't'), NULL, &wp) == NULL) |
return (CMD_RETURN_ERROR); |
return (CMD_RETURN_ERROR); |
|
|
if (self->entry == &cmd_clock_mode_entry) { |
if (self->entry == &cmd_clock_mode_entry) { |
|
|
return (CMD_RETURN_NORMAL); |
return (CMD_RETURN_NORMAL); |
window_copy_init_from_pane(wp); |
window_copy_init_from_pane(wp); |
} |
} |
|
if (args_has(args, 'M')) |
|
window_copy_start_drag(c, &cmdq->item->mouse); |
if (wp->mode == &window_copy_mode && args_has(self->args, 'u')) |
if (wp->mode == &window_copy_mode && args_has(self->args, 'u')) |
window_copy_pageup(wp); |
window_copy_pageup(wp); |
|
|