Allow repeat count to be specified in mode key tables with bind-key -R,

and set the default repeat count to 5 for WheelUp and WheelDown in
copy-mode.
This commit is contained in:
nicm
2016-09-12 15:40:58 +00:00
parent fed1e384ad
commit 2e5584c2b4
8 changed files with 371 additions and 331 deletions

View File

@ -552,7 +552,7 @@ window_choose_key(struct window_pane *wp, __unused struct client *c,
items = data->list_size;
if (data->input_type == WINDOW_CHOOSE_GOTO_ITEM) {
switch (mode_key_lookup(&data->mdata, key, NULL)) {
switch (mode_key_lookup(&data->mdata, key, NULL, NULL)) {
case MODEKEYCHOICE_CANCEL:
data->input_type = WINDOW_CHOOSE_NORMAL;
window_choose_redraw_screen(wp);
@ -582,7 +582,7 @@ window_choose_key(struct window_pane *wp, __unused struct client *c,
return;
}
switch (mode_key_lookup(&data->mdata, key, NULL)) {
switch (mode_key_lookup(&data->mdata, key, NULL, NULL)) {
case MODEKEYCHOICE_CANCEL:
window_choose_fire_callback(wp, NULL);
break;
@ -837,7 +837,7 @@ window_choose_key_index(struct window_choose_mode_data *data, u_int idx)
int mkey;
for (ptr = keys; *ptr != '\0'; ptr++) {
mkey = mode_key_lookup(&data->mdata, *ptr, NULL);
mkey = mode_key_lookup(&data->mdata, *ptr, NULL, NULL);
if (mkey != MODEKEY_NONE && mkey != MODEKEY_OTHER)
continue;
if (idx-- == 0)
@ -857,7 +857,7 @@ window_choose_index_key(struct window_choose_mode_data *data, key_code key)
u_int idx = 0;
for (ptr = keys; *ptr != '\0'; ptr++) {
mkey = mode_key_lookup(&data->mdata, *ptr, NULL);
mkey = mode_key_lookup(&data->mdata, *ptr, NULL, NULL);
if (mkey != MODEKEY_NONE && mkey != MODEKEY_OTHER)
continue;
if (key == (key_code)*ptr)