diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2009-03-28 10:15:01 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2009-03-28 10:15:01 +0000 |
commit | 587badecdb4eed64835e076a589631ceda3bcae5 (patch) | |
tree | 5cb0555ac13737faca05ffa743c7a6b4c0d01333 /screen-redraw.c | |
parent | a7f57773b7b3ec6ee1cb435fe393e0b87b6eb332 (diff) | |
download | rtmux-587badecdb4eed64835e076a589631ceda3bcae5.tar.gz rtmux-587badecdb4eed64835e076a589631ceda3bcae5.tar.bz2 rtmux-587badecdb4eed64835e076a589631ceda3bcae5.zip |
Clear using ED when redrawing the screen. I foolishly assumed using spaces
would be equivalent and terminals would pick up on this, but apparently
not. This fixes copy and paste in xterm/rxvt.
Diffstat (limited to 'screen-redraw.c')
-rw-r--r-- | screen-redraw.c | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/screen-redraw.c b/screen-redraw.c index 11147e02..d5099a31 100644 --- a/screen-redraw.c +++ b/screen-redraw.c @@ -1,4 +1,4 @@ -/* $Id: screen-redraw.c,v 1.28 2009-03-27 16:44:51 nicm Exp $ */ +/* $Id: screen-redraw.c,v 1.29 2009-03-28 10:15:01 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -128,21 +128,5 @@ screen_redraw_blanky(struct client *c, u_int oy, u_int ny, char ch) void screen_redraw_line(struct client *c, struct screen *s, u_int oy, u_int py) { - const struct grid_cell *gc; - struct grid_cell tc; - u_int i, sx; - - sx = screen_size_x(s); - if (sx > c->tty.sx) - sx = c->tty.sx; - for (i = 0; i < sx; i++) { - gc = grid_view_peek_cell(s->grid, i, py); - tty_cursor(&c->tty, i, py, oy); - if (screen_check_selection(s, i, py)) { - memcpy(&tc, &s->sel.cell, sizeof tc); - tc.data = gc->data; - tty_cell(&c->tty, &tc); - } else - tty_cell(&c->tty, gc); - } + tty_draw_line(&c->tty, s, py, oy); } |