From 1ade2225d2d6bf44399b37fd8411cd44a7fea99a Mon Sep 17 00:00:00 2001 From: Ron Yorston Date: Mon, 15 Feb 2021 16:00:25 +0000 Subject: winansi: allow alternative screen buffer to be disabled The alternative console screen buffer (used by less and vi) doesn't work in Wine. Setting the environment variable BB_ALT_BUFFER to 0 causes a screen reset instead. --- win32/winansi.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/win32/winansi.c b/win32/winansi.c index fd0de8656..c13d021d2 100644 --- a/win32/winansi.c +++ b/win32/winansi.c @@ -110,8 +110,15 @@ static HANDLE dup_handle(HANDLE h) static void use_alt_buffer(int flag) { static HANDLE console_orig = INVALID_HANDLE_VALUE; + const char *var; HANDLE console, h; + var = getenv("BB_ALT_BUFFER"); + if (var && strcmp(var, "0") == 0) { + reset_screen(); + return; + } + if (flag) { SECURITY_ATTRIBUTES sa; CONSOLE_SCREEN_BUFFER_INFO sbi; -- cgit v1.2.3-55-g6feb