diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2007-11-22 19:26:20 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2007-11-22 19:26:20 +0000 |
commit | 7b4556946db5f70b47e91484aac08f05ff32029c (patch) | |
tree | 8657945bf282dd55fc2f9626e990aabd113ca1e7 | |
parent | 7ab0b466fe38835cc92f28fed490d7f6ca1a3b5c (diff) | |
download | rtmux-7b4556946db5f70b47e91484aac08f05ff32029c.tar.gz rtmux-7b4556946db5f70b47e91484aac08f05ff32029c.tar.bz2 rtmux-7b4556946db5f70b47e91484aac08f05ff32029c.zip |
Make C-space toggle. Fix sel on same line.
-rw-r--r-- | screen.c | 23 | ||||
-rw-r--r-- | window-copy.c | 4 |
2 files changed, 21 insertions, 6 deletions
@@ -1,4 +1,4 @@ -/* $Id: screen.c,v 1.38 2007-11-22 19:17:01 nicm Exp $ */ +/* $Id: screen.c,v 1.39 2007-11-22 19:26:20 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -126,7 +126,10 @@ screen_resize(struct screen *s, u_int sx, u_int sy) * X dimension. */ if (sx != ox) { - /* If getting smaller, nuke any data in lines over the new size. */ + /* + * If getting smaller, nuke any data in lines over the new + * size. + */ if (sx < ox) { for (i = s->hsize; i < s->hsize + oy; i++) { if (s->grid_size[i] > sx) @@ -305,11 +308,23 @@ screen_check_selection(struct screen_draw_ctx *ctx, u_int px, u_int py) sel->ex = xx; sel->ey = yy; } + if (sel->sy == sel->ey && sel->ex < sel->sx) { + xx = sel->sx; + sel->sx = sel->ex; + sel->ex = xx; + } if (py < sel->sy || py > sel->ey) return (0); - if ((py == sel->sy && px < sel->sx) || (py == sel->ey && px > sel->ex)) - return (0); + if (py == sel->sy && py == sel->ey) { + if (px < sel->sx || px > sel->ex) + return (0); + } else { + if (py == sel->sy && px < sel->sx) + return (0); + if (py == sel->ey && px > sel->ex) + return (0); + } return (1); } diff --git a/window-copy.c b/window-copy.c index 983bbac2..98bf7223 100644 --- a/window-copy.c +++ b/window-copy.c @@ -1,4 +1,4 @@ -/* $Id: window-copy.c,v 1.2 2007-11-22 19:17:01 nicm Exp $ */ +/* $Id: window-copy.c,v 1.3 2007-11-22 19:26:20 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -184,7 +184,7 @@ window_copy_key(struct window *w, int key) data->oy -= sy; break; case '\000': /* C-space */ - data->sel.flag = 1; + data->sel.flag = !data->sel.flag; data->sel.sx = data->cx + data->ox; data->sel.sy = data->size + data->cy - data->oy; oy = -1; /* XXX */ |