The branch, master has been updated
       via  b65c72c45c79c3f1fea6446c83f6ac47e813a52a (commit)
       via  19c534e3256ef99fcd00b39c50d28b2cc8defb7e (commit)
       via  9134e4de1e0782ae4466bf1deb77a3098521b646 (commit)
      from  5f05c41126c0bf69d557a976935faa416d15371b (commit)

- Log -----------------------------------------------------------------
commit b65c72c45c79c3f1fea6446c83f6ac47e813a52a
Author: Nicholas Marriott <nicholas.marri...@gmail.com>
Commit: Nicholas Marriott <nicholas.marri...@gmail.com>

    Restore SunOS fix, noticed by Greg Onufer.
---
 server-client.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/server-client.c b/server-client.c
index 07ef569..4ffcb3a 100644
--- a/server-client.c
+++ b/server-client.c
@@ -540,8 +540,18 @@ server_client_check_resize(struct window_pane *wp)
        ws.ws_col = wp->sx;
        ws.ws_row = wp->sy;
 
-       if (ioctl(wp->fd, TIOCSWINSZ, &ws) == -1)
+       if (ioctl(wp->fd, TIOCSWINSZ, &ws) == -1) {
+#ifdef __sun
+               /*
+                * Some versions of Solaris apparently can return an error when
+                * resizing; don't know why this happens, can't reproduce on
+                * other platforms and ignoring it doesn't seem to cause any
+                * issues.
+                 */
+               if (errno != EINVAL)
+#endif
                fatal("ioctl failed");
+       }
 
        wp->flags &= ~PANE_RESIZE;
 }


commit 19c534e3256ef99fcd00b39c50d28b2cc8defb7e
Merge: 9134e4d 5f05c41
Author: Nicholas Marriott <nicholas.marri...@gmail.com>
Commit: Nicholas Marriott <nicholas.marri...@gmail.com>

    Merge branch 'master' of ssh://git.code.sf.net/p/tmux/tmux-code

 www/index.html.in |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)


commit 9134e4de1e0782ae4466bf1deb77a3098521b646
Author: Nicholas Marriott <nicholas.marri...@gmail.com>
Commit: Nicholas Marriott <nicholas.marri...@gmail.com>

    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.
---
 mode-key.c      |   15 +++++++++++++++
 tmux.h          |    4 ++++
 window-choose.c |   23 +++++++++++++++++++++++
 3 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/mode-key.c b/mode-key.c
index 95fad28..5a68bc7 100644
--- a/mode-key.c
+++ b/mode-key.c
@@ -76,14 +76,18 @@ 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_BOTTOMLINE, "bottom-line"},
        { MODEKEYCHOICE_CANCEL, "cancel" },
        { MODEKEYCHOICE_CHOOSE, "choose" },
        { MODEKEYCHOICE_DOWN, "down" },
+       { MODEKEYCHOICE_ENDOFLIST, "end-of-list"},
        { MODEKEYCHOICE_PAGEDOWN, "page-down" },
        { MODEKEYCHOICE_PAGEUP, "page-up" },
        { MODEKEYCHOICE_SCROLLDOWN, "scroll-down" },
        { MODEKEYCHOICE_SCROLLUP, "scroll-up" },
        { MODEKEYCHOICE_STARTNUMBERPREFIX, "start-number-prefix" },
+       { MODEKEYCHOICE_STARTOFLIST, "start-of-list"},
+       { MODEKEYCHOICE_TOPLINE, "top-line"},
        { MODEKEYCHOICE_TREE_COLLAPSE, "tree-collapse" },
        { MODEKEYCHOICE_TREE_COLLAPSE_ALL, "tree-collapse-all" },
        { MODEKEYCHOICE_TREE_EXPAND, "tree-expand" },
@@ -226,6 +230,12 @@ const struct mode_key_entry mode_key_vi_choice[] = {
        { 'j',                      0, MODEKEYCHOICE_DOWN },
        { 'k',                      0, MODEKEYCHOICE_UP },
        { 'q',                      0, MODEKEYCHOICE_CANCEL },
+       { KEYC_HOME,                0, MODEKEYCHOICE_STARTOFLIST },
+       { 'g',                      0, MODEKEYCHOICE_STARTOFLIST },
+       { 'H',                      0, MODEKEYCHOICE_TOPLINE },
+       { 'L',                      0, MODEKEYCHOICE_BOTTOMLINE },
+       { 'G',                      0, MODEKEYCHOICE_ENDOFLIST },
+       { KEYC_END,                 0, MODEKEYCHOICE_ENDOFLIST },
        { KEYC_BSPACE,              0, MODEKEYCHOICE_BACKSPACE },
        { KEYC_DOWN | KEYC_CTRL,    0, MODEKEYCHOICE_SCROLLDOWN },
        { KEYC_DOWN,                0, MODEKEYCHOICE_DOWN },
@@ -372,6 +382,11 @@ const struct mode_key_entry mode_key_emacs_choice[] = {
        { '\r',                     0, MODEKEYCHOICE_CHOOSE },
        { 'q',                      0, MODEKEYCHOICE_CANCEL },
        { 'v' | KEYC_ESCAPE,        0, MODEKEYCHOICE_PAGEUP },
+       { KEYC_HOME,                0, MODEKEYCHOICE_STARTOFLIST },
+       { '<' | KEYC_ESCAPE,        0, MODEKEYCHOICE_STARTOFLIST },
+       { 'R' | KEYC_ESCAPE,        0, MODEKEYCHOICE_TOPLINE },
+       { '>' | KEYC_ESCAPE,        0, MODEKEYCHOICE_ENDOFLIST },
+       { KEYC_END,                 0, MODEKEYCHOICE_ENDOFLIST },
        { KEYC_BSPACE,              0, MODEKEYCHOICE_BACKSPACE },
        { KEYC_DOWN | KEYC_CTRL,    0, MODEKEYCHOICE_SCROLLDOWN },
        { KEYC_DOWN,                0, MODEKEYCHOICE_DOWN },
diff --git a/tmux.h b/tmux.h
index 23b1b46..0a6ca4e 100644
--- a/tmux.h
+++ b/tmux.h
@@ -517,14 +517,18 @@ enum mode_key_cmd {
 
        /* Menu (choice) keys. */
        MODEKEYCHOICE_BACKSPACE,
+       MODEKEYCHOICE_BOTTOMLINE,
        MODEKEYCHOICE_CANCEL,
        MODEKEYCHOICE_CHOOSE,
        MODEKEYCHOICE_DOWN,
+       MODEKEYCHOICE_ENDOFLIST,
        MODEKEYCHOICE_PAGEDOWN,
        MODEKEYCHOICE_PAGEUP,
        MODEKEYCHOICE_SCROLLDOWN,
        MODEKEYCHOICE_SCROLLUP,
        MODEKEYCHOICE_STARTNUMBERPREFIX,
+       MODEKEYCHOICE_STARTOFLIST,
+       MODEKEYCHOICE_TOPLINE,
        MODEKEYCHOICE_TREE_COLLAPSE,
        MODEKEYCHOICE_TREE_COLLAPSE_ALL,
        MODEKEYCHOICE_TREE_EXPAND,
diff --git a/window-choose.c b/window-choose.c
index 7b2b32b..e7578fe 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))


-----------------------------------------------------------------------

Summary of changes:
 mode-key.c      |   15 +++++++++++++++
 server-client.c |   12 +++++++++++-
 tmux.h          |    4 ++++
 window-choose.c |   23 +++++++++++++++++++++++
 4 files changed, 53 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
tmux

------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
tmux-cvs mailing list
tmux-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-cvs

Reply via email to