diff options
author | Thomas Adam <thomas.adam@smoothwall.net> | 2013-02-07 12:08:55 +0000 |
---|---|---|
committer | Thomas Adam <thomas.adam@smoothwall.net> | 2013-02-07 12:08:55 +0000 |
commit | 64da762c15ddf0930baa1f8e4fc2b41515a64e3a (patch) | |
tree | cd2a953395962c7f2e7265d16722508a80606372 /screen.c | |
parent | fe00607816308953209cb85ab92a586c1f344cde (diff) | |
parent | 8903c1f167839569b7514508b38988aa6486575c (diff) | |
download | rtmux-64da762c15ddf0930baa1f8e4fc2b41515a64e3a.tar.gz rtmux-64da762c15ddf0930baa1f8e4fc2b41515a64e3a.tar.bz2 rtmux-64da762c15ddf0930baa1f8e4fc2b41515a64e3a.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'screen.c')
-rw-r--r-- | screen.c | 20 |
1 files changed, 19 insertions, 1 deletions
@@ -121,7 +121,7 @@ screen_set_title(struct screen *s, const char *title) /* Resize screen. */ void -screen_resize(struct screen *s, u_int sx, u_int sy) +screen_resize(struct screen *s, u_int sx, u_int sy, int reflow) { if (sx < 1) sx = 1; @@ -141,6 +141,9 @@ screen_resize(struct screen *s, u_int sx, u_int sy) if (sy != screen_size_y(s)) screen_resize_y(s, sy); + + if (reflow) + screen_reflow(s, sx); } void @@ -357,3 +360,18 @@ screen_check_selection(struct screen *s, u_int px, u_int py) return (1); } + +/* Reflow wrapped lines. */ +void +screen_reflow(struct screen *s, u_int sx) +{ + struct grid *old, *new; + + old = s->grid; + new = grid_create(old->sx, old->sy, old->hlimit); + + s->cy -= grid_reflow(new, old, sx); + s->grid = new; + + grid_destroy(old); +} |