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 },