Add start-of-list, end-of-list, top-line and bottom-line in choice mode, from

madmaverick9 at roxxmail dot eu, similar diff a few days earlier from Marcel
Partap.
This commit is contained in:
Nicholas Marriott
2014-02-26 22:22:07 +00:00
parent 582c2671dd
commit 9134e4de1e
3 changed files with 42 additions and 0 deletions

View File

@@ -679,6 +679,29 @@ window_choose_key(struct window_pane *wp, unused struct session *sess, int key)
window_choose_prompt_input(WINDOW_CHOOSE_GOTO_ITEM,
"Goto Item", wp, key);
break;
case MODEKEYCHOICE_STARTOFLIST:
data->selected = 0;
data->top = 0;
window_choose_redraw_screen(wp);
break;
case MODEKEYCHOICE_TOPLINE:
data->selected = data->top;
window_choose_redraw_screen(wp);
break;
case MODEKEYCHOICE_BOTTOMLINE:
data->selected = data->top + screen_size_y(s) - 1;
if (data->selected > items - 1)
data->selected = items - 1;
window_choose_redraw_screen(wp);
break;
case MODEKEYCHOICE_ENDOFLIST:
data->selected = items - 1;
if (screen_size_y(s) < items)
data->top = items - screen_size_y(s);
else
data->top = 0;
window_choose_redraw_screen(wp);
break;
default:
idx = window_choose_index_key(data, key);
if (idx < 0 || (u_int) idx >= ARRAY_LENGTH(&data->list))