diff --git a/TODO b/TODO index 5e9cf9df..1f35518d 100644 --- a/TODO +++ b/TODO @@ -64,6 +64,7 @@ - multiple paste buffers - window splitting? - if only one arg to switch-window, assume source-index +- test on wsvt25, vt100, vt220 -- For 0.2 -------------------------------------------------------------------- - anything which uses cmd_{send,recv}_string will break if the string is diff --git a/screen-redraw.c b/screen-redraw.c index 76d7c96f..6f8c1f20 100644 --- a/screen-redraw.c +++ b/screen-redraw.c @@ -1,4 +1,4 @@ -/* $Id: screen-redraw.c,v 1.1 2007-12-06 09:46:22 nicm Exp $ */ +/* $Id: screen-redraw.c,v 1.2 2008-01-03 19:18:14 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -138,7 +138,7 @@ screen_redraw_write_string(struct screen_redraw_ctx *ctx, const char *fmt, ...) va_end(ap); for (ptr = msg; *ptr != '\0'; ptr++) { - if (ctx->s->cx > screen_last_x(s)) + if (ctx->s->cx > screen_size_x(s)) break; if (*ptr < 0x20) continue; @@ -165,7 +165,8 @@ screen_redraw_clear_screen(struct screen_redraw_ctx *ctx) void screen_redraw_clear_end_of_line(struct screen_redraw_ctx *ctx) { - ctx->write(ctx->data, TTY_CLEARENDOFLINE); + if (ctx->s->cx < screen_last_x(ctx->s)) + ctx->write(ctx->data, TTY_CLEARENDOFLINE); } /* Redraw single cell. */ diff --git a/status.c b/status.c index 5ab5a6c5..8d0f778b 100644 --- a/status.c +++ b/status.c @@ -1,4 +1,4 @@ -/* $Id: status.c,v 1.15 2007-12-06 09:46:23 nicm Exp $ */ +/* $Id: status.c,v 1.16 2008-01-03 19:18:14 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -49,7 +49,7 @@ status_write_client(struct client *c) screen_redraw_write_string( &ctx, "%d:%s%c ", wl->idx, wl->window->name, flag); - if (ctx.s->cx >= screen_last_x(ctx.s)) + if (ctx.s->cx > screen_size_x(ctx.s)) break; } screen_redraw_clear_end_of_line(&ctx);