screen/SOURCES/screen-E3.patch
2021-10-29 11:21:00 +00:00

52 lines
1.2 KiB
Diff

diff --git a/display.c b/display.c
index b11b18b..180f19c 100644
--- a/display.c
+++ b/display.c
@@ -3818,4 +3818,10 @@ char **cmdv;
#endif /* BLANKER_PRG */
+void
+ClearScrollbackBuffer()
+{
+ if (D_CE3)
+ AddCStr(D_CE3);
+}
diff --git a/extern.h b/extern.h
index 7966008..e1ec242 100644
--- a/extern.h
+++ b/extern.h
@@ -316,6 +316,7 @@ extern int color256to88 __P((int));
extern void ResetIdle __P((void));
extern void KillBlanker __P((void));
extern void DisplaySleep1000 __P((int, int));
+extern void ClearScrollbackBuffer __P((void));
/* resize.c */
extern int ChangeWindowSize __P((struct win *, int, int, int));
diff --git a/screen.c b/screen.c
index 64650e9..c68d949 100644
--- a/screen.c
+++ b/screen.c
@@ -1958,6 +1958,7 @@ void Detach(int mode)
case D_LOCK:
ClearAll();
+ ClearScrollbackBuffer();
sign = SIG_LOCK;
/* tell attacher to lock terminal with a lockprg. */
break;
diff --git a/term.c b/term.c
index c92d85a..a6e9200 100644
--- a/term.c
+++ b/term.c
@@ -83,6 +83,7 @@ struct term term[T_N] =
{ "CD", T_STR },
{ "ce", T_STR },
{ "cb", T_STR },
+ { "E3", T_STR },
/* initialise */
{ "is", T_STR },