--- mode-key.c | 6 ++++++ tmux.h | 2 ++ window-choose.c | 13 +++++++++++++ 3 files changed, 21 insertions(+)
diff --git a/mode-key.c b/mode-key.c index 95fad28..668a6a2 100644 --- a/mode-key.c +++ b/mode-key.c @@ -76,6 +76,7 @@ const struct mode_key_cmdstr mode_key_cmdstr_edit[] = { /* Choice keys command strings. */ const struct mode_key_cmdstr mode_key_cmdstr_choice[] = { { MODEKEYCHOICE_BACKSPACE, "backspace" }, + { MODEKEYCHOICE_BOTTOM, "bottom" }, { MODEKEYCHOICE_CANCEL, "cancel" }, { MODEKEYCHOICE_CHOOSE, "choose" }, { MODEKEYCHOICE_DOWN, "down" }, @@ -84,6 +85,7 @@ const struct mode_key_cmdstr mode_key_cmdstr_choice[] = { { MODEKEYCHOICE_SCROLLDOWN, "scroll-down" }, { MODEKEYCHOICE_SCROLLUP, "scroll-up" }, { MODEKEYCHOICE_STARTNUMBERPREFIX, "start-number-prefix" }, + { MODEKEYCHOICE_TOP, "top" }, { MODEKEYCHOICE_TREE_COLLAPSE, "tree-collapse" }, { MODEKEYCHOICE_TREE_COLLAPSE_ALL, "tree-collapse-all" }, { MODEKEYCHOICE_TREE_EXPAND, "tree-expand" }, @@ -229,6 +231,8 @@ const struct mode_key_entry mode_key_vi_choice[] = { { KEYC_BSPACE, 0, MODEKEYCHOICE_BACKSPACE }, { KEYC_DOWN | KEYC_CTRL, 0, MODEKEYCHOICE_SCROLLDOWN }, { KEYC_DOWN, 0, MODEKEYCHOICE_DOWN }, + { KEYC_END, 0, MODEKEYCHOICE_BOTTOM }, + { KEYC_HOME, 0, MODEKEYCHOICE_TOP }, { KEYC_NPAGE, 0, MODEKEYCHOICE_PAGEDOWN }, { KEYC_PPAGE, 0, MODEKEYCHOICE_PAGEUP }, { KEYC_UP | KEYC_CTRL, 0, MODEKEYCHOICE_SCROLLUP }, @@ -375,6 +379,8 @@ const struct mode_key_entry mode_key_emacs_choice[] = { { KEYC_BSPACE, 0, MODEKEYCHOICE_BACKSPACE }, { KEYC_DOWN | KEYC_CTRL, 0, MODEKEYCHOICE_SCROLLDOWN }, { KEYC_DOWN, 0, MODEKEYCHOICE_DOWN }, + { KEYC_END, 0, MODEKEYCHOICE_BOTTOM }, + { KEYC_HOME, 0, MODEKEYCHOICE_TOP }, { KEYC_NPAGE, 0, MODEKEYCHOICE_PAGEDOWN }, { KEYC_PPAGE, 0, MODEKEYCHOICE_PAGEUP }, { KEYC_UP | KEYC_CTRL, 0, MODEKEYCHOICE_SCROLLUP }, diff --git a/tmux.h b/tmux.h index 793a553..efe2131 100644 --- a/tmux.h +++ b/tmux.h @@ -517,6 +517,7 @@ enum mode_key_cmd { /* Menu (choice) keys. */ MODEKEYCHOICE_BACKSPACE, + MODEKEYCHOICE_BOTTOM, MODEKEYCHOICE_CANCEL, MODEKEYCHOICE_CHOOSE, MODEKEYCHOICE_DOWN, @@ -525,6 +526,7 @@ enum mode_key_cmd { MODEKEYCHOICE_SCROLLDOWN, MODEKEYCHOICE_SCROLLUP, MODEKEYCHOICE_STARTNUMBERPREFIX, + MODEKEYCHOICE_TOP, MODEKEYCHOICE_TREE_COLLAPSE, MODEKEYCHOICE_TREE_COLLAPSE_ALL, MODEKEYCHOICE_TREE_EXPAND, diff --git a/window-choose.c b/window-choose.c index 67239ae..fc712fa 100644 --- a/window-choose.c +++ b/window-choose.c @@ -639,6 +639,19 @@ window_choose_key(struct window_pane *wp, unused struct session *sess, int key) } else window_choose_scroll_down(wp); break; + case MODEKEYCHOICE_TOP: + data->selected = 0; + data->top = 0; + window_choose_redraw_screen(wp); + break; + case MODEKEYCHOICE_BOTTOM: + data->selected = items - 1; + if (items < screen_size_y(s)) + data->top = 0; + else + data->top = items - screen_size_y(s); + window_choose_redraw_screen(wp); + break; case MODEKEYCHOICE_PAGEUP: if (data->selected < screen_size_y(s)) { data->selected = 0; -- 1.9.0.rc3 ------------------------------------------------------------------------------ Flow-based real-time traffic analytics software. Cisco certified tool. Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer Customize your own dashboards, set traffic alerts and generate reports. Network behavioral analysis & security monitoring. All-in-one tool. http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk _______________________________________________ tmux-users mailing list tmux-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tmux-users