diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2013-02-05 11:08:59 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2013-02-05 11:08:59 +0000 |
commit | 8903c1f167839569b7514508b38988aa6486575c (patch) | |
tree | 8f57ca70d42fa94d4bbef04341b6ecac62f1b7f9 /window.c | |
parent | a5521597b0e0771d5ad698bba92801ea88302c4f (diff) | |
download | rtmux-8903c1f167839569b7514508b38988aa6486575c.tar.gz rtmux-8903c1f167839569b7514508b38988aa6486575c.tar.bz2 rtmux-8903c1f167839569b7514508b38988aa6486575c.zip |
Automatically reflow wrapped lines when a pane is resized, requested by
many over the years and finally implemented by Richard Woodbury.
Diffstat (limited to 'window.c')
-rw-r--r-- | window.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -853,7 +853,7 @@ window_pane_resize(struct window_pane *wp, u_int sx, u_int sy) ws.ws_col = sx; ws.ws_row = sy; - screen_resize(&wp->base, sx, sy); + screen_resize(&wp->base, sx, sy, wp->saved_grid == NULL); if (wp->mode != NULL) wp->mode->resize(wp, sx, sy); @@ -914,7 +914,7 @@ window_pane_alternate_off(struct window_pane *wp, struct grid_cell *gc, * before copying back. */ if (sy > wp->saved_grid->sy) - screen_resize(s, sx, wp->saved_grid->sy); + screen_resize(s, sx, wp->saved_grid->sy, 1); /* Restore the grid, cursor position and cell. */ grid_duplicate_lines(s->grid, screen_hsize(s), wp->saved_grid, 0, sy); @@ -933,8 +933,8 @@ window_pane_alternate_off(struct window_pane *wp, struct grid_cell *gc, * the current size. */ wp->base.grid->flags |= GRID_HISTORY; - if (sy > wp->saved_grid->sy) - screen_resize(s, sx, sy); + if (sy > wp->saved_grid->sy || sx != wp->saved_grid->sx) + screen_resize(s, sx, sy, 1); grid_destroy(wp->saved_grid); wp->saved_grid = NULL; |