diff options
| -rw-r--r-- | st.c | 8 | 
1 files changed, 6 insertions, 2 deletions
| @@ -883,10 +883,14 @@ csihandle(void) {  	case 'J': /* ED -- Clear screen */  		switch(escseq.arg[0]) {  		case 0: /* below */ -			tclearregion(term.c.x, term.c.y, term.col-1, term.row-1); +			tclearregion(term.c.x, term.c.y, term.col-1, term.c.y); +			if(term.c.y < term.row-1) +				tclearregion(0, term.c.y+1, term.col-1, term.row-1);  			break;  		case 1: /* above */ -			tclearregion(0, 0, term.c.x, term.c.y); +			if(term.c.y > 1) +				tclearregion(0, 0, term.col-1, term.c.y-1); +			tclearregion(0, term.c.y, term.c.x, term.c.y);  			break;  		case 2: /* all */  			tclearregion(0, 0, term.col-1, term.row-1); | 
