diff --git a/dungeonbattle/TermManager.py b/dungeonbattle/TermManager.py new file mode 100644 index 0000000..d4ba565 --- /dev/null +++ b/dungeonbattle/TermManager.py @@ -0,0 +1,25 @@ +import curses + +class TermManager(): + + def __init__(self): + self.screen = curses.initscr() + # convert escapes sequences to curses abstraction + self.screen.keypad(True) + # stop printing typed keys to the terminal + curses.noecho() + # send keys through without having to press + curses.cbreak() + # make cursor invisible + curses.curs_set(False) + + def __enter__(self): + return self.screen + + def __exit__(self, type, value, traceback): + # restore the terminal to its original state + self.screen.keypad(False) + curses.echo() + curses.nocbreak() + curses.curs_set(True) + curses.endwin()