diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2021-03-08 16:31:54 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2021-03-08 16:32:08 +0100 |
| commit | d61433662e548ab2f2318fdd251c92f6259ebc3e (patch) | |
| tree | 6c8e9b15e54631300f63901fbde80b8f22417ce7 | |
| parent | 786485190e2e9373c707f8baa86fb4292f13b2fb (diff) | |
| download | tg-d61433662e548ab2f2318fdd251c92f6259ebc3e.tar.gz | |
refresh on redraw and move redraw to Console
| -rw-r--r-- | cursed.py | 17 | ||||
| -rw-r--r-- | main.py | 5 |
2 files changed, 9 insertions, 13 deletions
@@ -18,25 +18,24 @@ class Console(): curses.echo() curses.endwin() + def redraw(self, messages): + self.stdscr.clear() + for msg in messages: + self.stdscr.addstr(msg + '\n') + self.stdscr.refresh() + async def start(c, on_str, on_tab, messages): string = "" - redraw(c.stdscr, messages) + c.redraw(messages) while True: char = await asyncio.to_thread(c.stdscr.getkey) if char == '\n' and string != "": await on_str(string) messages.append(string) - redraw(c.stdscr, messages) + c.redraw(messages) string = "" elif char == '\t': await on_tab() else: string += char - - -def redraw(stdscr, messages): - stdscr.clear() - for msg in messages: - stdscr.addstr(msg + '\n') - stdscr.refresh() @@ -13,11 +13,8 @@ async def on_tab(): def main(): messages = [] with cursed.Console() as c: - def redraw(messages): - cursed.redraw(c.stdscr, messages) - tele.messages = messages - tele.redraw = redraw + tele.redraw = lambda message: c.redraw(message) with tele.client: tele.client.start() tele.client.loop.run_until_complete(cursed.start(c, on_str, on_tab, messages)) |
