aboutsummaryrefslogtreecommitdiff
path: root/window-copy.c
diff options
context:
space:
mode:
authorTiago Cunha <tcunha@gmx.com>2009-08-16 19:26:49 +0000
committerTiago Cunha <tcunha@gmx.com>2009-08-16 19:26:49 +0000
commit6f9a2ee50a1100575eda807fae2689e42a531473 (patch)
tree5e30249439f9bdd303ce8ce568431a98ef4e217d /window-copy.c
parent98e9e09588a33a062a8ac694544a2e8884c425c4 (diff)
downloadrtmux-6f9a2ee50a1100575eda807fae2689e42a531473.tar.gz
rtmux-6f9a2ee50a1100575eda807fae2689e42a531473.tar.bz2
rtmux-6f9a2ee50a1100575eda807fae2689e42a531473.zip
Sync OpenBSD patchset 260:
vi(1)-style half page scroll in copy and scroll modes. Move the vi full page scroll key to C-b instead of C-u and use C-u/C-d for half page scrolling with vi keys. In emacs mode, half page scrolling is bound to M-Up and M-Down. Suggested by merdely (about a year ago :-)).
Diffstat (limited to 'window-copy.c')
-rw-r--r--window-copy.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/window-copy.c b/window-copy.c
index 0a56b931..f6741531 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -1,4 +1,4 @@
-/* $Id: window-copy.c,v 1.78 2009-08-16 19:23:07 tcunha Exp $ */
+/* $Id: window-copy.c,v 1.79 2009-08-16 19:26:49 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -203,6 +203,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_HALFPAGEUP:
+ n = screen_size_y(s) / 2;
+ if (data->oy + n > screen_hsize(&wp->base))
+ data->oy = screen_hsize(&wp->base);
+ else
+ data->oy += n;
+ window_copy_update_selection(wp);
+ window_copy_redraw_screen(wp);
+ break;
+ case MODEKEYCOPY_HALFPAGEDOWN:
+ n = screen_size_y(s) / 2;
+ if (data->oy < n)
+ data->oy = 0;
+ else
+ data->oy -= n;
+ window_copy_update_selection(wp);
+ window_copy_redraw_screen(wp);
+ break;
case MODEKEYCOPY_STARTSELECTION:
window_copy_start_selection(wp);
window_copy_redraw_screen(wp);