diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2014-02-26 22:22:07 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2014-02-26 22:22:07 +0000 |
commit | 9134e4de1e0782ae4466bf1deb77a3098521b646 (patch) | |
tree | 9e36b07db7e2f4891dcf61326ebd6b37b6e4540d /window-choose.c | |
parent | 582c2671ddce5a8cdd6d022c7c67fe683ce71bf1 (diff) | |
download | rtmux-9134e4de1e0782ae4466bf1deb77a3098521b646.tar.gz rtmux-9134e4de1e0782ae4466bf1deb77a3098521b646.tar.bz2 rtmux-9134e4de1e0782ae4466bf1deb77a3098521b646.zip |
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.
Diffstat (limited to 'window-choose.c')
-rw-r--r-- | window-choose.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/window-choose.c b/window-choose.c index 7b2b32b9..e7578fe6 100644 --- a/window-choose.c +++ b/window-choose.c @@ -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)) |