summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2021-03-08 16:31:54 +0100
committerGustav Sörnäs <gustav@sornas.net>2021-03-08 16:32:08 +0100
commitd61433662e548ab2f2318fdd251c92f6259ebc3e (patch)
tree6c8e9b15e54631300f63901fbde80b8f22417ce7
parent786485190e2e9373c707f8baa86fb4292f13b2fb (diff)
downloadtg-d61433662e548ab2f2318fdd251c92f6259ebc3e.tar.gz
refresh on redraw and move redraw to Console
-rw-r--r--cursed.py17
-rw-r--r--main.py5
2 files changed, 9 insertions, 13 deletions
diff --git a/cursed.py b/cursed.py
index e63f44f..5259408 100644
--- a/cursed.py
+++ b/cursed.py
@@ -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()
diff --git a/main.py b/main.py
index a65c706..3b40e33 100644
--- a/main.py
+++ b/main.py
@@ -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))