Skip to content
  • deuce's avatar
    Attempt to fix Linux weirdness with UIFC jsexec things. · 7a1b494d
    deuce authored
    Basically, this just tracks if curses is already suspended or not and if it
    is, does not call noraw() and endwin() again.  This should fix the issue on
    Linux since well-behaved scripts will call uifc.bail() before they exit.
    
    It appears what's happening is that jsexec sets the terminal as raw, then
    ciolib is initialized at which point ncurses saves the current terminal state.
    Before exiting, jsexec sets the terminal back to cooked mode, then exits.
    atexit() ciolib calls curs_suspend() which calls endwin() which restores
    the previously saved terminal state (ie: raw).
    7a1b494d