diff options
author | Amadeusz Sławiński <amade@asmblr.net> | 2011-08-27 16:41:17 +0200 |
---|---|---|
committer | Amadeusz Sławiński <amade@asmblr.net> | 2014-07-24 11:50:46 +0200 |
commit | 910d34b3df538faa2f8ef5dc6c3ccb9621d9b9bc (patch) | |
tree | c60bde1f8e824724962d42725b41c479cfe8a51c | |
parent | 34ab3efc962f78935d94ad9a9957607907ddbf87 (diff) | |
download | screen-910d34b3df538faa2f8ef5dc6c3ccb9621d9b9bc.tar.gz |
[screen-devel] [PATCH] Clear scrollback buffer when locking terminal
From: Miroslav Lichvar
https://lists.gnu.org/archive/html/screen-devel/2011-07/msg00002.html
-rw-r--r-- | src/display.c | 7 | ||||
-rw-r--r-- | src/extern.h | 1 | ||||
-rw-r--r-- | src/screen.c | 1 | ||||
-rw-r--r-- | src/term.c | 1 |
4 files changed, 9 insertions, 1 deletions
diff --git a/src/display.c b/src/display.c index d22f7fe..c3e9ddb 100644 --- a/src/display.c +++ b/src/display.c @@ -3407,4 +3407,9 @@ RunBlanker(char **cmdv) } - +void +ClearScrollbackBuffer() +{ + if (D_CE3) + AddCStr(D_CE3); +} diff --git a/src/extern.h b/src/extern.h index f6132cd..a833a98 100644 --- a/src/extern.h +++ b/src/extern.h @@ -286,6 +286,7 @@ extern int color256to88 (int); extern void ResetIdle (void); extern void KillBlanker (void); extern void DisplaySleep1000 (int, int); +extern void ClearScrollbackBuffer (void); /* resize.c */ extern int ChangeWindowSize (struct win *, int, int, int); diff --git a/src/screen.c b/src/screen.c index 4906e15..f8d06eb 100644 --- a/src/screen.c +++ b/src/screen.c @@ -1821,6 +1821,7 @@ Detach(int mode) break; case D_LOCK: ClearAll(); + ClearScrollbackBuffer(); sign = SIG_LOCK; /* tell attacher to lock terminal with a lockprg. */ break; @@ -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 }, |