diff --git a/dgamelaunch.c b/dgamelaunch.c index 98e37ac..44ed134 100644 --- a/dgamelaunch.c +++ b/dgamelaunch.c @@ -399,6 +399,10 @@ inprogressmenu () case 'q': case 'Q': return; + case 12: case 18: /* ^L, ^R */ + clear (); + break; + default: doresizewin = 0; if (isupper (menuchoice)) diff --git a/ttyplay.c b/ttyplay.c index a9f4361..5ffee95 100644 --- a/ttyplay.c +++ b/ttyplay.c @@ -140,6 +140,7 @@ ttypread (FILE * fp, Header * h, char **buf, int pread) int counter = 0; fd_set readfs; struct timeval w = { 0, 100000 }; + struct termios t; /* * Read persistently just like tail -f. @@ -178,19 +179,20 @@ ttypread (FILE * fp, Header * h, char **buf, int pread) break; case 'm': + tcgetattr (0, &t); if (!loggedin) { initcurses(); loginprompt(1); - if (!loggedin) return READ_RESTART; } if (loggedin) { initcurses (); domailuser (chosen_name); - return READ_RESTART; } - + endwin (); + tcsetattr (0, TCSANOW, &t); + return READ_RESTART; break; } }