Hello and thanks for tmux!
As a recovering screen user, I'm used to hitting <HOME> or <END> in
the choose-window command so that I can warp the selected row to the
first or last item in the list. For completeness, the patch adds some
other key mappings in both vi and emacs mode that I think make sense.
- Tor
#
# Patch adds support for warping to the first/last item in a choose list...
#
Index: tmux-1.8/mode-key.c
===================================================================
--- tmux-1.8.orig/mode-key.c 2013-02-24 04:42:49.000000000 -0800
+++ tmux-1.8/mode-key.c 2013-06-11 09:43:40.000000000 -0700
@@ -80,6 +80,8 @@
{ MODEKEYCHOICE_DOWN, "down" },
{ MODEKEYCHOICE_PAGEDOWN, "page-down" },
{ MODEKEYCHOICE_PAGEUP, "page-up" },
+ { MODEKEYCHOICE_FIRST, "first" },
+ { MODEKEYCHOICE_LAST, "last" },
{ MODEKEYCHOICE_SCROLLDOWN, "scroll-down" },
{ MODEKEYCHOICE_SCROLLUP, "scroll-up" },
{ MODEKEYCHOICE_STARTNUMBERPREFIX, "start-number-prefix" },
@@ -224,6 +226,12 @@
{ KEYC_DOWN, 0, MODEKEYCHOICE_DOWN },
{ KEYC_NPAGE, 0, MODEKEYCHOICE_PAGEDOWN },
{ KEYC_PPAGE, 0, MODEKEYCHOICE_PAGEUP },
+ { 'g', 0, MODEKEYCHOICE_FIRST },
+ { 'G', 0, MODEKEYCHOICE_LAST },
+ { KEYC_HOME, 0, MODEKEYCHOICE_FIRST },
+ { KEYC_END, 0, MODEKEYCHOICE_LAST },
+ { KEYC_HOME | KEYC_CTRL, 0, MODEKEYCHOICE_FIRST },
+ { KEYC_END | KEYC_CTRL, 0, MODEKEYCHOICE_LAST },
{ KEYC_UP | KEYC_CTRL, 0, MODEKEYCHOICE_SCROLLUP },
{ KEYC_UP, 0, MODEKEYCHOICE_UP },
{ ' ', 0, MODEKEYCHOICE_TREE_TOGGLE },
@@ -366,6 +374,10 @@
{ KEYC_DOWN, 0, MODEKEYCHOICE_DOWN },
{ KEYC_NPAGE, 0, MODEKEYCHOICE_PAGEDOWN },
{ KEYC_PPAGE, 0, MODEKEYCHOICE_PAGEUP },
+ { KEYC_HOME, 0, MODEKEYCHOICE_FIRST },
+ { KEYC_END, 0, MODEKEYCHOICE_LAST },
+ { '<' | KEYC_ESCAPE, 0, MODEKEYCHOICE_FIRST },
+ { '>' | KEYC_ESCAPE, 0, MODEKEYCHOICE_LAST },
{ KEYC_UP | KEYC_CTRL, 0, MODEKEYCHOICE_SCROLLUP },
{ KEYC_UP, 0, MODEKEYCHOICE_UP },
{ ' ', 0, MODEKEYCHOICE_TREE_TOGGLE },
Index: tmux-1.8/tmux.h
===================================================================
--- tmux-1.8.orig/tmux.h 2013-06-11 09:42:42.000000000 -0700
+++ tmux-1.8/tmux.h 2013-06-11 09:42:42.000000000 -0700
@@ -570,6 +570,8 @@
MODEKEYCHOICE_DOWN,
MODEKEYCHOICE_PAGEDOWN,
MODEKEYCHOICE_PAGEUP,
+ MODEKEYCHOICE_FIRST,
+ MODEKEYCHOICE_LAST,
MODEKEYCHOICE_SCROLLDOWN,
MODEKEYCHOICE_SCROLLUP,
MODEKEYCHOICE_STARTNUMBERPREFIX,
Index: tmux-1.8/window-choose.c
===================================================================
--- tmux-1.8.orig/window-choose.c 2013-03-17 07:03:37.000000000 -0700
+++ tmux-1.8/window-choose.c 2013-06-11 09:42:42.000000000 -0700
@@ -650,6 +650,19 @@
data->top = data->selected;
window_choose_redraw_screen(wp);
break;
+ case MODEKEYCHOICE_FIRST:
+ data->selected = 0;
+ data->top = 0;
+ window_choose_redraw_screen(wp);
+ break;
+ case MODEKEYCHOICE_LAST:
+ 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;
case MODEKEYCHOICE_BACKSPACE:
input_len = strlen(data->input_str);
if (input_len > 0)
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users