Write status across entire line.

This commit is contained in:
Nicholas Marriott 2008-01-03 19:18:14 +00:00
parent ccfeb316a6
commit e7f68a089e
3 changed files with 7 additions and 5 deletions

1
TODO
View File

@ -64,6 +64,7 @@
- multiple paste buffers - multiple paste buffers
- window splitting? - window splitting?
- if only one arg to switch-window, assume source-index - if only one arg to switch-window, assume source-index
- test on wsvt25, vt100, vt220
-- For 0.2 -------------------------------------------------------------------- -- For 0.2 --------------------------------------------------------------------
- anything which uses cmd_{send,recv}_string will break if the string is - anything which uses cmd_{send,recv}_string will break if the string is

View File

@ -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 <nicm@users.sourceforge.net> * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -138,7 +138,7 @@ screen_redraw_write_string(struct screen_redraw_ctx *ctx, const char *fmt, ...)
va_end(ap); va_end(ap);
for (ptr = msg; *ptr != '\0'; ptr++) { for (ptr = msg; *ptr != '\0'; ptr++) {
if (ctx->s->cx > screen_last_x(s)) if (ctx->s->cx > screen_size_x(s))
break; break;
if (*ptr < 0x20) if (*ptr < 0x20)
continue; continue;
@ -165,7 +165,8 @@ screen_redraw_clear_screen(struct screen_redraw_ctx *ctx)
void void
screen_redraw_clear_end_of_line(struct screen_redraw_ctx *ctx) 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. */ /* Redraw single cell. */

View File

@ -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 <nicm@users.sourceforge.net> * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -49,7 +49,7 @@ status_write_client(struct client *c)
screen_redraw_write_string( screen_redraw_write_string(
&ctx, "%d:%s%c ", wl->idx, wl->window->name, flag); &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; break;
} }
screen_redraw_clear_end_of_line(&ctx); screen_redraw_clear_end_of_line(&ctx);