X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=plomrogue_client%2Ftui.py;h=3ed1b62772d0e635db5574a7e2f804f0f26b1c51;hb=253f4ce3544c6e9982ba5296c4b28f5fc1888db5;hp=9f28a04c542ba586ad3650679c43c70b3fd24734;hpb=b69f30da99f9096834f4389a13dd4ffac26e7a80;p=plomrogue2
diff --git a/plomrogue_client/tui.py b/plomrogue_client/tui.py
index 9f28a04..3ed1b62 100644
--- a/plomrogue_client/tui.py
+++ b/plomrogue_client/tui.py
@@ -33,24 +33,17 @@ class TUI:
self.size = self.size - YX(self.size.y % 4, 0)
self.size = self.size - YX(0, self.size.x % 4)
+ def log(self, msg):
+ self._log += [msg]
+ self.do_refresh = True
+
def init_loop(self):
curses.curs_set(0) # hide cursor
self.stdscr.timeout(10)
self.reset_size()
- def run_loop(self, stdscr):
- self.stdscr = stdscr
- self.init_loop()
- while True:
- try:
- self.loop()
- except AbortOnGetkey:
- continue
- self.do_refresh = True
-
- def log(self, msg):
- self._log += [msg]
- self.do_refresh = True
+ def draw_screen(self):
+ self.stdscr.clear()
def get_key_and_keycode(self):
try:
@@ -69,6 +62,24 @@ class TUI:
raise AbortOnGetkey
return key, keycode
+ def run_loop(self, stdscr):
+ self.stdscr = stdscr
+ self.init_loop()
+ while True:
+ self.on_each_loop_start()
+ for msg in self.socket.get_message():
+ self.handle_server_message(msg)
+ if self.do_refresh:
+ self.draw_screen()
+ self.do_refresh = False
+ try:
+ key, keycode = self.get_key_and_keycode()
+ except AbortOnGetkey:
+ continue
+ self.on_key(key, keycode)
+ self.do_refresh = True
+
+
def msg_into_lines_of_width(msg, width):
chunk = ''