Coding style.

- The fill3.context can create the screen update task.
This commit is contained in:
Andrew Hamilton 2021-04-12 00:14:22 +10:00
parent 09d6dffce6
commit f994d773d8
2 changed files with 13 additions and 18 deletions

View file

@ -1139,14 +1139,9 @@ def main(root_path, loop, worker_count=None, editor_command=None, theme=None,
for worker in screen.workers:
loop.create_task(worker.future)
if sys.stdout.isatty():
update_task = loop.create_task(
fill3.update_screen(screen, appearance_changed_event))
try:
with fill3.context(loop, appearance_changed_event, screen,
exit_loop=exit_loop):
loop.run_forever()
finally:
update_task.cancel()
log.log_message("Program stopped.")
else:
try:

View file

@ -499,11 +499,16 @@ def context(loop, appearance_changed_event, screen_widget, exit_loop=None):
signal_handler(loop, signal.SIGTERM, exit_loop), \
terminal.alternate_buffer(), terminal.interactive(), \
terminal.mouse_tracking():
update_task = loop.create_task(
update_screen(screen_widget, appearance_changed_event))
try:
loop.add_reader(sys.stdin, on_terminal_input, screen_widget)
try:
yield
finally:
loop.remove_reader(sys.stdin)
finally:
update_task.cancel()
##########################
@ -535,13 +540,8 @@ def _main():
loop = asyncio.get_event_loop()
appearance_changed_event = asyncio.Event()
screen = _Screen(appearance_changed_event)
update_task = loop.create_task(
update_screen(screen, appearance_changed_event))
try:
with context(loop, appearance_changed_event, screen):
loop.run_forever()
finally:
update_task.cancel()
if __name__ == "__main__":