mirror of
https://github.com/tmate-io/tmate.git
synced 2024-11-26 18:13:10 +01:00
Move sx,sy into tty rather than client.
This commit is contained in:
parent
65378588ac
commit
03d531ebc6
@ -1,4 +1,4 @@
|
|||||||
/* $Id: cmd-list-clients.c,v 1.12 2009-01-19 18:23:40 nicm Exp $ */
|
/* $Id: cmd-list-clients.c,v 1.13 2009-02-11 17:50:32 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -54,7 +54,7 @@ cmd_list_clients_exec(unused struct cmd *self, struct cmd_ctx *ctx)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
ctx->print(ctx, "%s: %s [%ux%u %s]", c->tty.path,
|
ctx->print(ctx, "%s: %s [%ux%u %s]", c->tty.path,
|
||||||
c->session->name, c->sx, c->sy, c->tty.termname);
|
c->session->name, c->tty.sx, c->tty.sy, c->tty.termname);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $Id: cmd-new-session.c,v 1.38 2009-01-23 16:59:14 nicm Exp $ */
|
/* $Id: cmd-new-session.c,v 1.39 2009-02-11 17:50:33 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -146,8 +146,8 @@ cmd_new_session_exec(struct cmd *self, struct cmd_ctx *ctx)
|
|||||||
sx = 80;
|
sx = 80;
|
||||||
sy = 25;
|
sy = 25;
|
||||||
if (!data->flag_detached) {
|
if (!data->flag_detached) {
|
||||||
sx = c->sx;
|
sx = c->tty.sx;
|
||||||
sy = c->sy;
|
sy = c->tty.sy;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (options_get_number(&global_options, "status")) {
|
if (options_get_number(&global_options, "status")) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $Id: cmd-server-info.c,v 1.9 2009-01-19 18:23:40 nicm Exp $ */
|
/* $Id: cmd-server-info.c,v 1.10 2009-02-11 17:50:33 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -86,8 +86,8 @@ cmd_server_info_exec(unused struct cmd *self, struct cmd_ctx *ctx)
|
|||||||
|
|
||||||
ctx->print(ctx, "%4d: %s (%d, %d): %s [%ux%u %s] "
|
ctx->print(ctx, "%4d: %s (%d, %d): %s [%ux%u %s] "
|
||||||
"[flags=0x%x/0x%x]", i, c->tty.path, c->fd, c->tty.fd,
|
"[flags=0x%x/0x%x]", i, c->tty.path, c->fd, c->tty.fd,
|
||||||
c->session->name, c->sx, c->sy, c->tty.termname, c->flags,
|
c->session->name, c->tty.sx, c->tty.sy, c->tty.termname,
|
||||||
c->tty.flags);
|
c->flags, c->tty.flags);
|
||||||
}
|
}
|
||||||
ctx->print(ctx, "");
|
ctx->print(ctx, "");
|
||||||
|
|
||||||
|
10
resize.c
10
resize.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: resize.c,v 1.18 2009-01-11 23:31:46 nicm Exp $ */
|
/* $Id: resize.c,v 1.19 2009-02-11 17:50:33 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -62,10 +62,10 @@ recalculate_sizes(void)
|
|||||||
if (c == NULL)
|
if (c == NULL)
|
||||||
continue;
|
continue;
|
||||||
if (c->session == s) {
|
if (c->session == s) {
|
||||||
if (c->sx < ssx)
|
if (c->tty.sx < ssx)
|
||||||
ssx = c->sx;
|
ssx = c->tty.sx;
|
||||||
if (c->sy < ssy)
|
if (c->tty.sy < ssy)
|
||||||
ssy = c->sy;
|
ssy = c->tty.sy;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ssx == UINT_MAX || ssy == UINT_MAX) {
|
if (ssx == UINT_MAX || ssy == UINT_MAX) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $Id: screen-redraw.c,v 1.22 2009-02-11 17:04:38 nicm Exp $ */
|
/* $Id: screen-redraw.c,v 1.23 2009-02-11 17:50:33 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -45,8 +45,8 @@ screen_redraw_screen(struct client *c, struct screen *s)
|
|||||||
status = options_get_number(&c->session->options, "status");
|
status = options_get_number(&c->session->options, "status");
|
||||||
|
|
||||||
/* Fill in empty space on the right. */
|
/* Fill in empty space on the right. */
|
||||||
if (w->sx < c->sx)
|
if (w->sx < c->tty.sx)
|
||||||
screen_redraw_blankx(c, w->sx, c->sx - w->sx);
|
screen_redraw_blankx(c, w->sx, c->tty.sx - w->sx);
|
||||||
|
|
||||||
/* Draw the panes. */
|
/* Draw the panes. */
|
||||||
TAILQ_FOREACH(wp, &w->panes, entry) {
|
TAILQ_FOREACH(wp, &w->panes, entry) {
|
||||||
@ -58,7 +58,7 @@ screen_redraw_screen(struct client *c, struct screen *s)
|
|||||||
cy = s->cy;
|
cy = s->cy;
|
||||||
if (wp->yoff + sy <= w->sy) {
|
if (wp->yoff + sy <= w->sy) {
|
||||||
for (i = 0; i < sy; i++) {
|
for (i = 0; i < sy; i++) {
|
||||||
if (wp->yoff + i != c->sy - 1)
|
if (wp->yoff + i != c->tty.sy - 1)
|
||||||
screen_redraw_line(c, s, wp->yoff, i);
|
screen_redraw_line(c, s, wp->yoff, i);
|
||||||
}
|
}
|
||||||
if (TAILQ_NEXT(wp, entry) != NULL)
|
if (TAILQ_NEXT(wp, entry) != NULL)
|
||||||
@ -69,8 +69,8 @@ screen_redraw_screen(struct client *c, struct screen *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Fill in empty space below. */
|
/* Fill in empty space below. */
|
||||||
if (w->sy < c->sy - status)
|
if (w->sy < c->tty.sy - status)
|
||||||
screen_redraw_blanky(c, w->sy, c->sy - status - w->sy, '=');
|
screen_redraw_blanky(c, w->sy, c->tty.sy - status - w->sy, '=');
|
||||||
|
|
||||||
/* Draw the status line. */
|
/* Draw the status line. */
|
||||||
screen_redraw_status(c);
|
screen_redraw_status(c);
|
||||||
@ -80,7 +80,7 @@ screen_redraw_screen(struct client *c, struct screen *s)
|
|||||||
void
|
void
|
||||||
screen_redraw_status(struct client *c)
|
screen_redraw_status(struct client *c)
|
||||||
{
|
{
|
||||||
screen_redraw_line(c, &c->status, c->sy - 1, 0);
|
screen_redraw_line(c, &c->status, c->tty.sy - 1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw blank columns. */
|
/* Draw blank columns. */
|
||||||
@ -90,7 +90,7 @@ screen_redraw_blankx(struct client *c, u_int ox, u_int nx)
|
|||||||
u_int i, j;
|
u_int i, j;
|
||||||
|
|
||||||
tty_putcode(&c->tty, TTYC_SGR0);
|
tty_putcode(&c->tty, TTYC_SGR0);
|
||||||
for (j = 0; j < c->sy; j++) {
|
for (j = 0; j < c->tty.sy; j++) {
|
||||||
tty_putcode2(&c->tty, TTYC_CUP, j, ox);
|
tty_putcode2(&c->tty, TTYC_CUP, j, ox);
|
||||||
for (i = 0; i < nx; i++)
|
for (i = 0; i < nx; i++)
|
||||||
tty_putc(&c->tty, ' ');
|
tty_putc(&c->tty, ' ');
|
||||||
@ -110,7 +110,7 @@ screen_redraw_blanky(struct client *c, u_int oy, u_int ny, char ch)
|
|||||||
tty_putcode(&c->tty, TTYC_SGR0);
|
tty_putcode(&c->tty, TTYC_SGR0);
|
||||||
for (j = 0; j < ny; j++) {
|
for (j = 0; j < ny; j++) {
|
||||||
tty_putcode2(&c->tty, TTYC_CUP, oy + j, 0);
|
tty_putcode2(&c->tty, TTYC_CUP, oy + j, 0);
|
||||||
for (i = 0; i < c->sx; i++) {
|
for (i = 0; i < c->tty.sx; i++) {
|
||||||
if (j == 0)
|
if (j == 0)
|
||||||
tty_putc(&c->tty, ch);
|
tty_putc(&c->tty, ch);
|
||||||
else
|
else
|
||||||
@ -132,8 +132,8 @@ screen_redraw_line(struct client *c, struct screen *s, u_int oy, u_int py)
|
|||||||
u_int i, sx;
|
u_int i, sx;
|
||||||
|
|
||||||
sx = screen_size_x(s);
|
sx = screen_size_x(s);
|
||||||
if (sx > c->sx)
|
if (sx > c->tty.sx)
|
||||||
sx = c->sx;
|
sx = c->tty.sx;
|
||||||
for (i = 0; i < sx; i++) {
|
for (i = 0; i < sx; i++) {
|
||||||
gc = grid_view_peek_cell(s->grid, i, py);
|
gc = grid_view_peek_cell(s->grid, i, py);
|
||||||
tty_cursor(&c->tty, i, py, oy);
|
tty_cursor(&c->tty, i, py, oy);
|
||||||
|
18
server-msg.c
18
server-msg.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: server-msg.c,v 1.62 2009-01-28 17:57:00 nicm Exp $ */
|
/* $Id: server-msg.c,v 1.63 2009-02-11 17:50:35 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -192,8 +192,8 @@ server_msg_fn_identify(struct hdr *hdr, struct client *c)
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
c->sx = data.sx;
|
c->tty.sx = data.sx;
|
||||||
c->sy = data.sy;
|
c->tty.sy = data.sy;
|
||||||
|
|
||||||
c->cwd = NULL;
|
c->cwd = NULL;
|
||||||
if (*data.cwd != '\0')
|
if (*data.cwd != '\0')
|
||||||
@ -225,12 +225,12 @@ server_msg_fn_resize(struct hdr *hdr, struct client *c)
|
|||||||
|
|
||||||
log_debug("resize msg from client: %u,%u", data.sx, data.sy);
|
log_debug("resize msg from client: %u,%u", data.sx, data.sy);
|
||||||
|
|
||||||
c->sx = data.sx;
|
c->tty.sx = data.sx;
|
||||||
if (c->sx == 0)
|
if (c->tty.sx == 0)
|
||||||
c->sx = 80;
|
c->tty.sx = 80;
|
||||||
c->sy = data.sy;
|
c->tty.sy = data.sy;
|
||||||
if (c->sy == 0)
|
if (c->tty.sy == 0)
|
||||||
c->sy = 25;
|
c->tty.sy = 25;
|
||||||
|
|
||||||
c->tty.cx = UINT_MAX;
|
c->tty.cx = UINT_MAX;
|
||||||
c->tty.cy = UINT_MAX;
|
c->tty.cy = UINT_MAX;
|
||||||
|
14
server.c
14
server.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: server.c,v 1.119 2009-02-10 00:18:06 nicm Exp $ */
|
/* $Id: server.c,v 1.120 2009-02-11 17:50:35 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -85,9 +85,9 @@ server_create_client(int fd)
|
|||||||
c->title = NULL;
|
c->title = NULL;
|
||||||
|
|
||||||
c->session = NULL;
|
c->session = NULL;
|
||||||
c->sx = 80;
|
c->tty.sx = 80;
|
||||||
c->sy = 25;
|
c->tty.sy = 25;
|
||||||
screen_init(&c->status, c->sx, 1, 0);
|
screen_init(&c->status, c->tty.sx, 1, 0);
|
||||||
|
|
||||||
c->message_string = NULL;
|
c->message_string = NULL;
|
||||||
|
|
||||||
@ -520,8 +520,8 @@ server_redraw_locked(struct client *c)
|
|||||||
u_int colour, xx, yy;
|
u_int colour, xx, yy;
|
||||||
int style;
|
int style;
|
||||||
|
|
||||||
xx = c->sx;
|
xx = c->tty.sx;
|
||||||
yy = c->sy - 1;
|
yy = c->tty.sy - 1;
|
||||||
if (xx == 0 || yy == 0)
|
if (xx == 0 || yy == 0)
|
||||||
return;
|
return;
|
||||||
colour = options_get_number(
|
colour = options_get_number(
|
||||||
@ -768,7 +768,7 @@ server_handle_client(struct client *c)
|
|||||||
|
|
||||||
/* Ensure cursor position and mode settings. */
|
/* Ensure cursor position and mode settings. */
|
||||||
status = options_get_number(&c->session->options, "status");
|
status = options_get_number(&c->session->options, "status");
|
||||||
if (wp->yoff + wp->screen->cy < c->sy - status)
|
if (wp->yoff + wp->screen->cy < c->tty.sy - status)
|
||||||
tty_cursor(&c->tty, wp->screen->cx, wp->screen->cy, wp->yoff);
|
tty_cursor(&c->tty, wp->screen->cx, wp->screen->cy, wp->yoff);
|
||||||
|
|
||||||
mode = wp->screen->mode;
|
mode = wp->screen->mode;
|
||||||
|
48
status.c
48
status.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: status.c,v 1.72 2009-02-10 00:18:06 nicm Exp $ */
|
/* $Id: status.c,v 1.73 2009-02-11 17:50:36 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -56,10 +56,10 @@ status_redraw(struct client *c)
|
|||||||
|
|
||||||
/* Create the target screen. */
|
/* Create the target screen. */
|
||||||
memcpy(&old_status, &c->status, sizeof old_status);
|
memcpy(&old_status, &c->status, sizeof old_status);
|
||||||
screen_init(&c->status, c->sx, 1, 0);
|
screen_init(&c->status, c->tty.sx, 1, 0);
|
||||||
|
|
||||||
/* No status line? */
|
/* No status line? */
|
||||||
if (c->sy == 0 || !options_get_number(&s->options, "status"))
|
if (c->tty.sy == 0 || !options_get_number(&s->options, "status"))
|
||||||
goto off;
|
goto off;
|
||||||
larrow = rarrow = 0;
|
larrow = rarrow = 0;
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ status_redraw(struct client *c)
|
|||||||
stdgc.fg = options_get_number(&s->options, "status-bg");
|
stdgc.fg = options_get_number(&s->options, "status-bg");
|
||||||
stdgc.attr |= options_get_number(&s->options, "status-attr");
|
stdgc.attr |= options_get_number(&s->options, "status-attr");
|
||||||
|
|
||||||
yy = c->sy - 1;
|
yy = c->tty.sy - 1;
|
||||||
if (yy == 0)
|
if (yy == 0)
|
||||||
goto blank;
|
goto blank;
|
||||||
|
|
||||||
@ -98,9 +98,9 @@ status_redraw(struct client *c)
|
|||||||
xx += llen + 1;
|
xx += llen + 1;
|
||||||
if (rlen != 0)
|
if (rlen != 0)
|
||||||
xx += rlen + 1;
|
xx += rlen + 1;
|
||||||
if (c->sx == 0 || c->sx <= xx)
|
if (c->tty.sx == 0 || c->tty.sx <= xx)
|
||||||
goto blank;
|
goto blank;
|
||||||
xx = c->sx - xx;
|
xx = c->tty.sx - xx;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Right. We have xx characters to fill. Find out how much is to go in
|
* Right. We have xx characters to fill. Find out how much is to go in
|
||||||
@ -215,7 +215,7 @@ draw:
|
|||||||
|
|
||||||
/* Draw the last item. */
|
/* Draw the last item. */
|
||||||
if (rlen != 0) {
|
if (rlen != 0) {
|
||||||
screen_write_cursormove(&ctx, c->sx - rlen - 1, yy);
|
screen_write_cursormove(&ctx, c->tty.sx - rlen - 1, yy);
|
||||||
screen_write_puts(&ctx, &stdgc, " %s", right);
|
screen_write_puts(&ctx, &stdgc, " %s", right);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -235,9 +235,9 @@ draw:
|
|||||||
if (rarrow == -1)
|
if (rarrow == -1)
|
||||||
gc.attr ^= GRID_ATTR_REVERSE;
|
gc.attr ^= GRID_ATTR_REVERSE;
|
||||||
if (rlen != 0)
|
if (rlen != 0)
|
||||||
screen_write_cursormove(&ctx, c->sx - rlen - 2, yy);
|
screen_write_cursormove(&ctx, c->tty.sx - rlen - 2, yy);
|
||||||
else
|
else
|
||||||
screen_write_cursormove(&ctx, c->sx - 1, yy);
|
screen_write_cursormove(&ctx, c->tty.sx - 1, yy);
|
||||||
screen_write_putc(&ctx, &gc, '>');
|
screen_write_putc(&ctx, &gc, '>');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,7 +247,7 @@ blank:
|
|||||||
/* Just draw the whole line as blank. */
|
/* Just draw the whole line as blank. */
|
||||||
screen_write_start(&ctx, NULL, &c->status);
|
screen_write_start(&ctx, NULL, &c->status);
|
||||||
screen_write_cursormove(&ctx, 0, yy);
|
screen_write_cursormove(&ctx, 0, yy);
|
||||||
for (offset = 0; offset < c->sx; offset++)
|
for (offset = 0; offset < c->tty.sx; offset++)
|
||||||
screen_write_putc(&ctx, &stdgc, ' ');
|
screen_write_putc(&ctx, &stdgc, ' ');
|
||||||
|
|
||||||
goto out;
|
goto out;
|
||||||
@ -267,13 +267,13 @@ off:
|
|||||||
}
|
}
|
||||||
|
|
||||||
screen_write_cursormove(&ctx, 0, 0);
|
screen_write_cursormove(&ctx, 0, 0);
|
||||||
if (sy < c->sy) {
|
if (sy < c->tty.sy) {
|
||||||
/* If the screen is too small, use blank. */
|
/* If the screen is too small, use blank. */
|
||||||
for (offset = 0; offset < c->sx; offset++)
|
for (offset = 0; offset < c->tty.sx; offset++)
|
||||||
screen_write_putc(&ctx, &stdgc, ' ');
|
screen_write_putc(&ctx, &stdgc, ' ');
|
||||||
} else {
|
} else {
|
||||||
screen_write_copy(&ctx,
|
screen_write_copy(&ctx,
|
||||||
sc, 0, sc->grid->hsize + screen_size_y(sc) - 1, c->sx, 1);
|
sc, 0, sc->grid->hsize + screen_size_y(sc) - 1, c->tty.sx, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
@ -498,14 +498,14 @@ status_message_redraw(struct client *c)
|
|||||||
size_t len;
|
size_t len;
|
||||||
struct grid_cell gc;
|
struct grid_cell gc;
|
||||||
|
|
||||||
if (c->sx == 0 || c->sy == 0)
|
if (c->tty.sx == 0 || c->tty.sy == 0)
|
||||||
return (0);
|
return (0);
|
||||||
memcpy(&old_status, &c->status, sizeof old_status);
|
memcpy(&old_status, &c->status, sizeof old_status);
|
||||||
screen_init(&c->status, c->sx, 1, 0);
|
screen_init(&c->status, c->tty.sx, 1, 0);
|
||||||
|
|
||||||
len = strlen(c->message_string);
|
len = strlen(c->message_string);
|
||||||
if (len > c->sx)
|
if (len > c->tty.sx)
|
||||||
len = c->sx;
|
len = c->tty.sx;
|
||||||
|
|
||||||
memcpy(&gc, &grid_default_cell, sizeof gc);
|
memcpy(&gc, &grid_default_cell, sizeof gc);
|
||||||
gc.bg = options_get_number(&s->options, "message-fg");
|
gc.bg = options_get_number(&s->options, "message-fg");
|
||||||
@ -516,7 +516,7 @@ status_message_redraw(struct client *c)
|
|||||||
|
|
||||||
screen_write_cursormove(&ctx, 0, 0);
|
screen_write_cursormove(&ctx, 0, 0);
|
||||||
screen_write_puts(&ctx, &gc, "%.*s", (int) len, c->message_string);
|
screen_write_puts(&ctx, &gc, "%.*s", (int) len, c->message_string);
|
||||||
for (; len < c->sx; len++)
|
for (; len < c->tty.sx; len++)
|
||||||
screen_write_putc(&ctx, &gc, ' ');
|
screen_write_putc(&ctx, &gc, ' ');
|
||||||
|
|
||||||
screen_write_stop(&ctx);
|
screen_write_stop(&ctx);
|
||||||
@ -540,15 +540,15 @@ status_prompt_redraw(struct client *c)
|
|||||||
char ch;
|
char ch;
|
||||||
struct grid_cell gc;
|
struct grid_cell gc;
|
||||||
|
|
||||||
if (c->sx == 0 || c->sy == 0)
|
if (c->tty.sx == 0 || c->tty.sy == 0)
|
||||||
return (0);
|
return (0);
|
||||||
memcpy(&old_status, &c->status, sizeof old_status);
|
memcpy(&old_status, &c->status, sizeof old_status);
|
||||||
screen_init(&c->status, c->sx, 1, 0);
|
screen_init(&c->status, c->tty.sx, 1, 0);
|
||||||
offset = 0;
|
offset = 0;
|
||||||
|
|
||||||
len = strlen(c->prompt_string);
|
len = strlen(c->prompt_string);
|
||||||
if (len > c->sx)
|
if (len > c->tty.sx)
|
||||||
len = c->sx;
|
len = c->tty.sx;
|
||||||
|
|
||||||
memcpy(&gc, &grid_default_cell, sizeof gc);
|
memcpy(&gc, &grid_default_cell, sizeof gc);
|
||||||
gc.bg = options_get_number(&s->options, "message-fg");
|
gc.bg = options_get_number(&s->options, "message-fg");
|
||||||
@ -560,7 +560,7 @@ status_prompt_redraw(struct client *c)
|
|||||||
screen_write_cursormove(&ctx, 0, 0);
|
screen_write_cursormove(&ctx, 0, 0);
|
||||||
screen_write_puts(&ctx, &gc, "%.*s", (int) len, c->prompt_string);
|
screen_write_puts(&ctx, &gc, "%.*s", (int) len, c->prompt_string);
|
||||||
|
|
||||||
left = c->sx - len;
|
left = c->tty.sx - len;
|
||||||
if (left != 0) {
|
if (left != 0) {
|
||||||
if (c->prompt_index < left)
|
if (c->prompt_index < left)
|
||||||
size = strlen(c->prompt_buffer);
|
size = strlen(c->prompt_buffer);
|
||||||
@ -581,7 +581,7 @@ status_prompt_redraw(struct client *c)
|
|||||||
"%.*s", (int) left, c->prompt_buffer + offset);
|
"%.*s", (int) left, c->prompt_buffer + offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = len + size; i < c->sx; i++)
|
for (i = len + size; i < c->tty.sx; i++)
|
||||||
screen_write_putc(&ctx, &gc, ' ');
|
screen_write_putc(&ctx, &gc, ' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
8
tmux.h
8
tmux.h
@ -1,4 +1,4 @@
|
|||||||
/* $Id: tmux.h,v 1.267 2009-02-11 17:04:39 nicm Exp $ */
|
/* $Id: tmux.h,v 1.268 2009-02-11 17:50:36 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -712,6 +712,9 @@ SLIST_HEAD(tty_terms, tty_term);
|
|||||||
struct tty {
|
struct tty {
|
||||||
char *path;
|
char *path;
|
||||||
|
|
||||||
|
u_int sx;
|
||||||
|
u_int sy;
|
||||||
|
|
||||||
u_int cx;
|
u_int cx;
|
||||||
u_int cy;
|
u_int cy;
|
||||||
|
|
||||||
@ -762,9 +765,6 @@ struct client {
|
|||||||
struct timeval status_timer;
|
struct timeval status_timer;
|
||||||
struct timeval repeat_timer;
|
struct timeval repeat_timer;
|
||||||
|
|
||||||
u_int sx;
|
|
||||||
u_int sy;
|
|
||||||
|
|
||||||
struct screen status;
|
struct screen status;
|
||||||
|
|
||||||
#define CLIENT_TERMINAL 0x1
|
#define CLIENT_TERMINAL 0x1
|
||||||
|
Loading…
Reference in New Issue
Block a user