aboutsummaryrefslogtreecommitdiff
path: root/window-scroll.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-scroll.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-scroll.c')
-rw-r--r--window-scroll.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/window-scroll.c b/window-scroll.c
index 80f683e9..188ee9a3 100644
--- a/window-scroll.c
+++ b/window-scroll.c
@@ -1,4 +1,4 @@
-/* $Id: window-scroll.c,v 1.39 2009-08-16 19:23:07 tcunha Exp $ */
+/* $Id: window-scroll.c,v 1.40 2009-08-16 19:26:49 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -165,6 +165,22 @@ window_scroll_key(struct window_pane *wp, unused struct client *c, int key)
data->oy -= n;
window_scroll_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_scroll_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_scroll_redraw_screen(wp);
+ break;
default:
break;
}