aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--st.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/st.c b/st.c
index ed8e2a8..76a2016 100644
--- a/st.c
+++ b/st.c
@@ -883,10 +883,14 @@ csihandle(void) {
883 case 'J': /* ED -- Clear screen */ 883 case 'J': /* ED -- Clear screen */
884 switch(escseq.arg[0]) { 884 switch(escseq.arg[0]) {
885 case 0: /* below */ 885 case 0: /* below */
886 tclearregion(term.c.x, term.c.y, term.col-1, term.row-1); 886 tclearregion(term.c.x, term.c.y, term.col-1, term.c.y);
887 if(term.c.y < term.row-1)
888 tclearregion(0, term.c.y+1, term.col-1, term.row-1);
887 break; 889 break;
888 case 1: /* above */ 890 case 1: /* above */
889 tclearregion(0, 0, term.c.x, term.c.y); 891 if(term.c.y > 1)
892 tclearregion(0, 0, term.col-1, term.c.y-1);
893 tclearregion(0, term.c.y, term.c.x, term.c.y);
890 break; 894 break;
891 case 2: /* all */ 895 case 2: /* all */
892 tclearregion(0, 0, term.col-1, term.row-1); 896 tclearregion(0, 0, term.col-1, term.row-1);