diff options
| -rw-r--r-- | st.c | 8 |
1 files changed, 6 insertions, 2 deletions
| @@ -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); |
