Sync OpenBSD patchset 407:

Add mode keys to move the cursor to the top, middle and bottom of the screen.
H/M/L in vi mode and M-R/M-r in emacs (bottom of screen not bound in emacs).
This commit is contained in:
Tiago Cunha
2009-10-15 01:52:47 +00:00
parent 428f76db80
commit a505ca69d9
4 changed files with 38 additions and 6 deletions

View File

@ -1,4 +1,4 @@
/* $Id: window-copy.c,v 1.88 2009-10-12 00:18:19 tcunha Exp $ */
/* $Id: window-copy.c,v 1.89 2009-10-15 01:52:47 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -278,6 +278,24 @@ window_copy_key(struct window_pane *wp, struct client *c, int key)
window_copy_update_selection(wp);
window_copy_redraw_screen(wp);
break;
case MODEKEYCOPY_TOPLINE:
data->cx = 0;
data->cy = 0;
window_copy_update_selection(wp);
window_copy_redraw_screen(wp);
break;
case MODEKEYCOPY_MIDDLELINE:
data->cx = 0;
data->cy = (screen_size_y(s) - 1) / 2;
window_copy_update_selection(wp);
window_copy_redraw_screen(wp);
break;
case MODEKEYCOPY_BOTTOMLINE:
data->cx = 0;
data->cy = screen_size_y(s) - 1;
window_copy_update_selection(wp);
window_copy_redraw_screen(wp);
break;
case MODEKEYCOPY_STARTSELECTION:
window_copy_start_selection(wp);
window_copy_redraw_screen(wp);