diff --git a/tmux.h b/tmux.h index 0aa2b854..52180809 100644 --- a/tmux.h +++ b/tmux.h @@ -1458,6 +1458,7 @@ void tty_putc(struct tty *, u_char); void tty_pututf8(struct tty *, const struct grid_utf8 *); void tty_init(struct tty *, int, char *); int tty_resize(struct tty *); +int tty_set_size(struct tty *tty, u_int sx, u_int sy); void tty_start_tty(struct tty *); void tty_stop_tty(struct tty *); void tty_set_title(struct tty *, const char *); diff --git a/tty.c b/tty.c index 6e3e2cf2..6b0e503d 100644 --- a/tty.c +++ b/tty.c @@ -93,10 +93,8 @@ tty_resize(struct tty *tty) sx = 80; sy = 24; } - if (sx == tty->sx && sy == tty->sy) + if (!tty_set_size(tty, sx, sy)) return (0); - tty->sx = sx; - tty->sy = sy; tty->cx = UINT_MAX; tty->cy = UINT_MAX; @@ -116,6 +114,15 @@ tty_resize(struct tty *tty) return (1); } +int +tty_set_size(struct tty *tty, u_int sx, u_int sy) { + if (sx == tty->sx && sy == tty->sy) + return (0); + tty->sx = sx; + tty->sy = sy; + return (1); +} + int tty_open(struct tty *tty, const char *overrides, char **cause) {