aboutsummaryrefslogtreecommitdiff
path: root/st.c
diff options
context:
space:
mode:
authorDevin J. Pohly <djpohly@djpohly.com>2010-10-25 16:45:13 -0400
committerDevin J. Pohly <djpohly@djpohly.com>2010-10-25 16:45:13 -0400
commitedfbc9b432bc779ec9c41f7523be52b99edeec85 (patch)
treef4211f187a7ebfc42d0d0dbb4c31301a11facb81 /st.c
parent638a30359d26c1f84a87f0f8df17df1765068029 (diff)
downloadst-edfbc9b432bc779ec9c41f7523be52b99edeec85.tar.gz
st-edfbc9b432bc779ec9c41f7523be52b99edeec85.zip
redraw if we scroll on resize
Diffstat (limited to 'st.c')
-rw-r--r--st.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/st.c b/st.c
index 1089087..ed8e2a8 100644
--- a/st.c
+++ b/st.c
@@ -170,7 +170,7 @@ static void tputtab(void);
170static void tputc(char); 170static void tputc(char);
171static void tputs(char*, int); 171static void tputs(char*, int);
172static void treset(void); 172static void treset(void);
173static void tresize(int, int); 173static int tresize(int, int);
174static void tscrollup(int, int); 174static void tscrollup(int, int);
175static void tscrolldown(int, int); 175static void tscrolldown(int, int);
176static void tsetattr(int*, int); 176static void tsetattr(int*, int);
@@ -1202,7 +1202,7 @@ tputs(char *s, int len) {
1202 tputc(*s++); 1202 tputc(*s++);
1203} 1203}
1204 1204
1205void 1205int
1206tresize(int col, int row) { 1206tresize(int col, int row) {
1207 int i, x; 1207 int i, x;
1208 int minrow = MIN(row, term.row); 1208 int minrow = MIN(row, term.row);
@@ -1210,7 +1210,7 @@ tresize(int col, int row) {
1210 int slide = term.c.y - row + 1; 1210 int slide = term.c.y - row + 1;
1211 1211
1212 if(col < 1 || row < 1) 1212 if(col < 1 || row < 1)
1213 return; 1213 return 0;
1214 1214
1215 /* free unneeded rows */ 1215 /* free unneeded rows */
1216 i = 0; 1216 i = 0;
@@ -1256,6 +1256,7 @@ tresize(int col, int row) {
1256 tmoveto(term.c.x, term.c.y); 1256 tmoveto(term.c.x, term.c.y);
1257 /* reset scrolling region */ 1257 /* reset scrolling region */
1258 tsetscroll(0, row-1); 1258 tsetscroll(0, row-1);
1259 return (slide > 0);
1259} 1260}
1260 1261
1261void 1262void
@@ -1650,7 +1651,8 @@ resize(XEvent *e) {
1650 row = (xw.h - 2*BORDER) / xw.ch; 1651 row = (xw.h - 2*BORDER) / xw.ch;
1651 if(col == term.col && row == term.row) 1652 if(col == term.col && row == term.row)
1652 return; 1653 return;
1653 tresize(col, row); 1654 if(tresize(col, row))
1655 draw(SCREEN_REDRAW);
1654 ttyresize(col, row); 1656 ttyresize(col, row);
1655 xresize(col, row); 1657 xresize(col, row);
1656} 1658}