From c4e744a382a71a446a860d2a29e37eb3c2ef5ade Mon Sep 17 00:00:00 2001 From: BDisp Date: Tue, 27 Apr 2021 16:43:55 +0100 Subject: [PATCH] Fixes #418 and #931. Unix terminal hangs after exit. (#953) * Fixes #931. Unix terminal hangs after exit. * Changed escape sequence as suggested by @mklement0 * Changing as documented at http://ascii-table.com/ansi-escape-sequences-vt-100.php --- Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs index 1388bc7e5..6ce03cc7e 100644 --- a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs @@ -79,6 +79,7 @@ namespace Terminal.Gui { TerminalResized?.Invoke (); } } + public override void UpdateCursor () => Refresh (); public override void End () @@ -95,6 +96,10 @@ namespace Terminal.Gui { Console.Out.Flush (); Console.Out.Write ("\x1b[1;25r"); Console.Out.Flush (); + + //Set cursor key to cursor. + Console.Out.Write("\x1b[?1l"); + Console.Out.Flush(); } public override void UpdateScreen () => window.redrawwin (); @@ -693,6 +698,10 @@ namespace Terminal.Gui { return; try { + //Set cursor key to application. + Console.Out.Write ("\x1b[?1h"); + Console.Out.Flush (); + window = Curses.initscr (); } catch (Exception e) { Console.WriteLine ("Curses failed to initialize, the exception is: " + e);