aboutsummaryrefslogtreecommitdiff
path: root/window-copy.c
diff options
context:
space:
mode:
authorMicah Cowan <micah@micah.cowan.name>2010-06-05 07:48:35 +0000
committerMicah Cowan <micah@micah.cowan.name>2010-06-05 07:48:35 +0000
commitd9c99b83c7de1f193aa353e7f49e8889dc227083 (patch)
treed2e60a3dd9ad9992e6982ed4a3000ecbe0bfea48 /window-copy.c
parentd27956f16007956883625859bafec6c34212cc35 (diff)
downloadrtmux-d9c99b83c7de1f193aa353e7f49e8889dc227083.tar.gz
rtmux-d9c99b83c7de1f193aa353e7f49e8889dc227083.tar.bz2
rtmux-d9c99b83c7de1f193aa353e7f49e8889dc227083.zip
Make double start-of-line do what double end-of-line does, on wrapped lines.
Diffstat (limited to 'window-copy.c')
-rw-r--r--window-copy.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/window-copy.c b/window-copy.c
index 729395a8..917a4e97 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -1,4 +1,4 @@
-/* $Id: window-copy.c,v 1.117 2010-05-22 21:56:04 micahcowan Exp $ */
+/* $Id: window-copy.c,v 1.118 2010-06-05 07:48:35 micahcowan Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -1383,7 +1383,17 @@ void
window_copy_cursor_start_of_line(struct window_pane *wp)
{
struct window_copy_mode_data *data = wp->modedata;
+ struct screen *back_s = data->backing;
+ struct grid *gd = back_s->grid;
+ u_int py;
+ if (data->cx == 0) {
+ py = screen_hsize(back_s) + data->cy - data->oy;
+ while (py > 0 && gd->linedata[py-1].flags & GRID_LINE_WRAPPED) {
+ window_copy_cursor_up(wp, 0);
+ py = screen_hsize(back_s) + data->cy - data->oy;
+ }
+ }
window_copy_update_cursor(wp, 0, data->cy);
if (window_copy_update_selection(wp))
window_copy_redraw_lines(wp, data->cy, 1);