mirror of
https://github.com/tmux/tmux.git
synced 2024-12-13 18:38:48 +00:00
Merge branch 'obsd-master'
This commit is contained in:
commit
1fccfd7be5
@ -66,21 +66,16 @@ cmd_send_keys_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
const u_char *keystr;
|
const u_char *keystr;
|
||||||
int i, literal;
|
int i, literal;
|
||||||
key_code key;
|
key_code key;
|
||||||
u_int np;
|
u_int np = 1;
|
||||||
char *cause = NULL;
|
char *cause = NULL;
|
||||||
|
|
||||||
if (args_has(args, 'N')) {
|
if (args_has(args, 'N')) {
|
||||||
if (wp->mode == NULL || wp->mode->command == NULL) {
|
|
||||||
cmdq_error(item, "not in a mode");
|
|
||||||
return (CMD_RETURN_ERROR);
|
|
||||||
}
|
|
||||||
np = args_strtonum(args, 'N', 1, UINT_MAX, &cause);
|
np = args_strtonum(args, 'N', 1, UINT_MAX, &cause);
|
||||||
if (cause != NULL) {
|
if (cause != NULL) {
|
||||||
cmdq_error(item, "prefix %s", cause);
|
cmdq_error(item, "repeat count %s", cause);
|
||||||
free(cause);
|
free(cause);
|
||||||
return (CMD_RETURN_ERROR);
|
return (CMD_RETURN_ERROR);
|
||||||
}
|
}
|
||||||
wp->modeprefix = np;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args_has(args, 'X')) {
|
if (args_has(args, 'X')) {
|
||||||
@ -88,6 +83,7 @@ cmd_send_keys_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
cmdq_error(item, "not in a mode");
|
cmdq_error(item, "not in a mode");
|
||||||
return (CMD_RETURN_ERROR);
|
return (CMD_RETURN_ERROR);
|
||||||
}
|
}
|
||||||
|
wp->modeprefix = np;
|
||||||
if (!m->valid)
|
if (!m->valid)
|
||||||
wp->mode->command(wp, c, s, args, NULL);
|
wp->mode->command(wp, c, s, args, NULL);
|
||||||
else
|
else
|
||||||
@ -95,9 +91,6 @@ cmd_send_keys_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
return (CMD_RETURN_NORMAL);
|
return (CMD_RETURN_NORMAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args_has(args, 'N')) /* only with -X */
|
|
||||||
return (CMD_RETURN_NORMAL);
|
|
||||||
|
|
||||||
if (args_has(args, 'M')) {
|
if (args_has(args, 'M')) {
|
||||||
wp = cmd_mouse_pane(m, &s, NULL);
|
wp = cmd_mouse_pane(m, &s, NULL);
|
||||||
if (wp == NULL) {
|
if (wp == NULL) {
|
||||||
@ -120,19 +113,22 @@ cmd_send_keys_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
if (args_has(args, 'R'))
|
if (args_has(args, 'R'))
|
||||||
input_reset(wp, 1);
|
input_reset(wp, 1);
|
||||||
|
|
||||||
for (i = 0; i < args->argc; i++) {
|
for (; np != 0; np--) {
|
||||||
literal = args_has(args, 'l');
|
for (i = 0; i < args->argc; i++) {
|
||||||
if (!literal) {
|
literal = args_has(args, 'l');
|
||||||
key = key_string_lookup_string(args->argv[i]);
|
if (!literal) {
|
||||||
if (key != KEYC_NONE && key != KEYC_UNKNOWN)
|
key = key_string_lookup_string(args->argv[i]);
|
||||||
window_pane_key(wp, NULL, s, key, NULL);
|
if (key != KEYC_NONE && key != KEYC_UNKNOWN)
|
||||||
else
|
window_pane_key(wp, NULL, s, key, NULL);
|
||||||
literal = 1;
|
else
|
||||||
}
|
literal = 1;
|
||||||
if (literal) {
|
}
|
||||||
for (keystr = args->argv[i]; *keystr != '\0'; keystr++)
|
if (literal) {
|
||||||
window_pane_key(wp, NULL, s, *keystr, NULL);
|
for (keystr = args->argv[i]; *keystr != '\0'; keystr++)
|
||||||
|
window_pane_key(wp, NULL, s, *keystr, NULL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return (CMD_RETURN_NORMAL);
|
return (CMD_RETURN_NORMAL);
|
||||||
|
2
tmux.1
2
tmux.1
@ -2219,7 +2219,7 @@ the
|
|||||||
.Sx WINDOWS AND PANES
|
.Sx WINDOWS AND PANES
|
||||||
section.
|
section.
|
||||||
.Fl N
|
.Fl N
|
||||||
specifies a repeat count to a copy mode command.
|
specifies a repeat count.
|
||||||
.It Xo Ic send-prefix
|
.It Xo Ic send-prefix
|
||||||
.Op Fl 2
|
.Op Fl 2
|
||||||
.Op Fl t Ar target-pane
|
.Op Fl t Ar target-pane
|
||||||
|
Loading…
Reference in New Issue
Block a user