---
 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

Reply via email to