diff --git a/screen-write.c b/screen-write.c index 7df389867..f3ced3ea0 100644 --- a/screen-write.c +++ b/screen-write.c @@ -1407,7 +1407,8 @@ screen_write_sync_redraw_cb(const struct tty_ctx *ttyctx, u_int py, u_int ny) { struct window_pane *wp = ttyctx->arg; - bit_nset(wp->sync_dirty, py, py + ny - 1); + if (ny != 0) + bit_nset(wp->sync_dirty, py, py + ny - 1); } /* Send the deferred scroll to the client. */ diff --git a/tty-features.c b/tty-features.c index 94d3eedc3..0a08bbedd 100644 --- a/tty-features.c +++ b/tty-features.c @@ -668,6 +668,7 @@ tty_default_features(struct client *c, const char *name, u_int version) "cstyle," "extkeys," "focus," + "imagescroll," "margins," "overline," "hyperlinks," @@ -684,6 +685,7 @@ tty_default_features(struct client *c, const char *name, u_int version) "extkeys," "focus," "hyperlinks," + "imagescroll," "osc7," "sync," "usstyle," diff --git a/tty.c b/tty.c index ce05e58f4..117e4c2ba 100644 --- a/tty.c +++ b/tty.c @@ -288,6 +288,10 @@ tty_open(struct tty *tty, char **cause) } tty->flags |= TTY_OPENED; +#ifdef ENABLE_IMAGES + image_tty_update(tty); +#endif + tty->flags &= ~(TTY_NOCURSOR|TTY_FREEZE|TTY_BLOCK|TTY_TIMER); event_set(&tty->event_in, c->fd, EV_PERSIST|EV_READ,