Commit Diff


commit - 6eaec4732fdf2ffbd92de8ad90c9954ae0838888
commit + 986670d08082c97a9fb847b9218ce504c840f0ad
blob - e705fcac01cd52912099d193944493b8b7718a61
blob + bc17df35d4285aeaae547059e2e44d733a17024f
--- st.c
+++ st.c
@@ -1141,12 +1141,13 @@ csihandle(void) {
 				term.mode &= ~MODE_MOUSEMOTION;
 				break;
 			case 1049: /* = 1047 and 1048 */
+			case 47:
 			case 1047:
 				if(IS_SET(MODE_ALTSCREEN)) {
 					tclearregion(0, 0, term.col-1, term.row-1);
 					tswapscreen();
 				}
-				if(escseq.arg[0] == 1047)
+				if(escseq.arg[0] != 1049)
 					break;
 			case 1048:
 				tcursor(CURSOR_LOAD);
@@ -1213,12 +1214,13 @@ csihandle(void) {
 				term.mode |= MODE_MOUSEMOTION;
 				break;
 			case 1049: /* = 1047 and 1048 */
+			case 47:
 			case 1047:
 				if(IS_SET(MODE_ALTSCREEN))
 					tclearregion(0, 0, term.col-1, term.row-1);
 				else
 					tswapscreen();
-				if(escseq.arg[0] == 1047)
+				if(escseq.arg[0] != 1049)
 					break;
 			case 1048:
 				tcursor(CURSOR_SAVE);
blob - 489908fe70dc99241610f4d9131dca9c05307633
blob + 37008af41130b92a1efb75cf74cd3cf68c9f7b78
--- st.info
+++ st.info
@@ -85,6 +85,7 @@ st| simpleterm,
 	rev=\E[7m,
 	ri=\EM,
 	rmacs=\E(B,
+	rmcup=\E[?1049l,
 	rmso=\E[m,
 	rmul=\E[m,
 	sc=\E7,
@@ -93,6 +94,7 @@ st| simpleterm,
 	sgr0=\E[0m,
 	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
 	smacs=\E(0,
+	smcup=\E[?1049h,
 	smso=\E[7m,
 	smul=\E[4m,
 	tbc=\E[2g,